• 大小: 13MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-02-05
  • 语言: Python
  • 标签:

资源简介

本项目基于yolo3 与crnn 实现中文自然场景文字检测及识别

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
@author: lywen
“““
import os
import cv2
import json
import time
import uuid
import base64
import web
from PIL import Image
web.config.debug  = True
import model
render = web.template.render(‘templates‘ base=‘base‘)
from config import DETECTANGLE
from apphelper.image import union_rboxadjust_box_to_origin
from application import trainTicketidcard 


billList = [‘通用OCR‘‘火车票‘‘身份证‘]

class OCR:
    “““通用OCR识别“““

    def GET(self):
        post = {}
        post[‘postName‘] = ‘ocr‘##请求地址
        post[‘height‘] = 1000
        post[‘H‘] = 1000
        post[‘width‘] = 600
        post[‘W‘] = 600
        post[‘uuid‘] = uuid.uuid1().__str__()
        post[‘billList‘] = billList
        return render.ocr(post)

    def POST(self):
        data = web.data()
        data = json.loads(data)
        billModel = data.get(‘billModel‘‘‘)
        textAngle = data.get(‘textAngle‘False)##文字检测
        textLine = data.get(‘textLine‘False)##只进行单行识别
        
        imgString = data[‘imgString‘].encode().split(b‘;base64‘)[-1]
        imgString = base64.b64decode(imgString)
        jobid = uuid.uuid1().__str__()
        path = ‘test/{}.jpg‘.format(jobid)
        with open(path‘wb‘) as f:
            f.write(imgString)
        img = cv2.imread(path)##GBR
        HW = img.shape[:2]
        timetake = time.time()
        if textLine:
            ##单行识别
            partImg = Image.fromarray(img)
            text = model.crnnOcr(partImg.convert(‘L‘))
            res =[ {‘text‘:text‘name‘:‘0‘‘box‘:[00W0WH0H]} ]
        else:
            detectAngle = textAngle
            _resultangle= model.model(img
                                        detectAngle=detectAngle##是否进行文字方向检测,通过web传参控制
                                        config=dict(MAX_HORIZONTAL_GAP=50##字符之间的最大间隔,用于文本行的合并
                                        MIN_V_OVERLAPS=0.6
                                        MIN_SIZE_SIM=0.6
                                        TEXT_PROPOSALS_MIN_SCORE=0.1
                                        TEXT_PROPOSALS_NMS_THRESH=0.3
                                        TEXT_LINE_NMS_THRESH = 0.7##文本行之间测iou值
                                                )
                                        leftAdjust=True##对检测的文本行进行向左延伸
                                        rightAdjust=True##对检测的文本行进行向右延伸
                                        alph=0.01##对检测的文本行进行向右、左延伸的倍数
                                       )



            if billModel==‘‘ or billModel==‘通用OCR‘ :
                result = union_rbox(result0.2)
                res = [{‘text‘:x[‘text‘]
                        ‘name‘:str(i)
                        ‘box‘:{‘cx‘:x[‘cx‘]
                               ‘cy‘:x[‘cy‘]
                               ‘w‘:x[‘w‘]
                               ‘h‘:x[‘h‘]
                               ‘angle‘:x[‘degree‘]

                              }
                       } for ix in enumerate(result)]
                res = a

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-07-18 15:12  chineseocr-master\
     文件         137  2019-07-18 15:12  chineseocr-master\.gitignore
     文件          84  2019-07-18 15:12  chineseocr-master\.gitmodules
     文件        1017  2019-07-18 15:12  chineseocr-master\Dockerfile
     文件        1067  2019-07-18 15:12  chineseocr-master\LICENSE
     文件        3940  2019-07-18 15:12  chineseocr-master\README.md
     文件        3997  2019-07-18 15:12  chineseocr-master\app.py
     目录           0  2019-07-18 15:12  chineseocr-master\apphelper\
     文件         917  2019-07-18 15:12  chineseocr-master\apphelper\__init__.py
     文件       18337  2019-07-18 15:12  chineseocr-master\apphelper\image.py
     目录           0  2019-07-18 15:12  chineseocr-master\application\
     文件          82  2019-07-18 15:12  chineseocr-master\application\README.md
     文件           0  2019-07-18 15:12  chineseocr-master\application\__init__.py
     文件        3380  2019-07-18 15:12  chineseocr-master\application\idcard.py
     文件        3020  2019-07-18 15:12  chineseocr-master\application\trainTicket.py
     文件        1999  2019-07-18 15:12  chineseocr-master\config.py
     目录           0  2019-07-18 15:12  chineseocr-master\crnn\
     文件           0  2019-07-18 15:12  chineseocr-master\crnn\__init__.py
     文件        1201  2019-07-18 15:12  chineseocr-master\crnn\crnn_keras.py
     文件        1994  2019-07-18 15:12  chineseocr-master\crnn\crnn_torch.py
     文件        3964  2019-07-18 15:12  chineseocr-master\crnn\dataset.py
     文件       16511  2019-07-18 15:12  chineseocr-master\crnn\keys.py
     文件        3649  2019-07-18 15:12  chineseocr-master\crnn\network_keras.py
     文件        3086  2019-07-18 15:12  chineseocr-master\crnn\network_torch.py
     文件        2911  2019-07-18 15:12  chineseocr-master\crnn\util.py
     文件        1115  2019-07-18 15:12  chineseocr-master\crnn\utils.py
     目录           0  2019-07-18 15:12  chineseocr-master\darknet\
     文件         139  2019-07-18 15:12  chineseocr-master\docker.sh
     文件        4201  2019-07-18 15:12  chineseocr-master\model.py
     目录           0  2019-07-18 15:12  chineseocr-master\models\
     文件          45  2019-07-18 15:12  chineseocr-master\models\README.md
............此处省略299个文件信息

评论

共有 条评论

相关资源