关系经济人类预测化学自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

用Python写了一个图像文字识别OCR工具

1月13日 望北海投稿
  人生苦短,快学Python!
  在之前的文章里,我们多次尝试用Python实现文本OCR识别!
  今天我们要搞一个升级版:直接写一个图像文字识别OCR工具!引言
  最近在技术交流群里聊到一个关于图像文字识别的需求,在工作、生活中常常会用到,比如票据、漫画、扫描件、照片的文本提取。
  博主基于PyQtlabelmePaddleOCR写了一个桌面端的OCR工具,用于快速实现图片中文本区域自动检测文本自动识别。
  识别效果如下图所示:干货主要有:
  200多本Python电子书(和经典的书籍)应该有
  Python标准库资料(最全中文版)
  项目源码(四五十个有趣且可靠的练手项目及源码)
  Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)
  Python学习路线图(告别不入流的学习)
  私信小编01即可获取大量Python学习资源
  OCR工具识别效果
  所有框选区域为OCR算法自动检测,右侧列表有每个框对应的文字内容;点击右侧识别结果中的文本记录,然后点击复制到剪贴板即可复制该文本内容。功能列表文本区域检测文字识别文本区域可视化文字内容列表图像、文件夹加载图像滚轮缩放查看绘制区域、编辑区域复制所选文本识别结果OCR部分
  图像文字检测文字识别算法,主要借助paddleocr实现。
  创建或者选择一个虚拟环境,安装需要用到的第三方库。condacreatenocrcondaactivateocr安装框架
  如果你没有NVIDIAGPU,或GPU不支持CUDA,可以安装CPU版本:CPU版本pipinstallpaddlepaddle2。1。0ihttps:mirror。baidu。compypisimple
  如果你的GPU安装过CUDA9或CUDA10,cuDNN7。6,可以选择下面这个GPU版本:GPU版本python3mpipinstallpaddlepaddlegpu2。1。0ihttps:mirror。baidu。compypisimple安装PaddleOCR
  安装paddleocr:pipinstallpaddleocr2。0。1推荐使用2。0。1版本
  版面分析,需要安装LayoutParser:pip3installUhttps:paddleocr。bj。bcebos。comwhllayoutparser0。0。0py3noneany。whl测试安装是否成功
  安装完成后,测试一张图片imagedir。imgs11。jpg,采用中英文检测方向分类器识别全流程:paddleocrimagedir。imgs11。jpguseangleclstrueusegpufalse
  输出一个list:
  在python中调用frompaddleocrimportPaddleOCR,drawocrPaddleocr目前支持的多语言语种可以通过修改lang参数进行切换例如ch,en,fr,german,korean,japanocrPaddleOCR(useangleclsTrue,langch)needtorunonlyoncetodownloadandloadmodelintomemoryimgpath。imgs11。jpgresultocr。ocr(imgpath,clsTrue)forlineinresult:print(line)
  输出结果是一个list,每个item包含了文本框,文字和识别置信度:
  〔〔〔24。0,36。0〕,〔304。0,34。0〕,〔304。0,72。0〕,〔24。0,74。0〕〕,〔纯臻营养护发素,0。964739〕〕〔〔〔24。0,80。0〕,〔172。0,80。0〕,〔172。0,104。0〕,〔24。0,104。0〕〕,〔产品信息参数,0。98069626〕〕〔〔〔24。0,109。0〕,〔333。0,109。0〕,〔333。0,136。0〕,〔24。0,136。0〕〕,〔(45元每公斤,100公斤起订),0。9676722〕〕。。。。。。界面部分
  界面部分基于pyqt5实现,其中pyqtGUI程序开发入门和环境配置,详见一篇博客(具体见文末)。
  主要步骤:界面布局设计
  在QtDesigner中拖拽控件,完成程序界面布局,并保存。ui文件。
  利用pyuic自动生成界面代码
  在pycharm的项目文件结构中找到。ui文件,右键ExternalToolspyuic,会在ui文件同级目录下自动生成界面ui的Python代码。
  编写界面业务类
  业务类MainWindow实现程序逻辑和算法功能,与前面第2步生成的ui实现解耦,避免每次修改ui文件会影响业务代码。ui界面上的控件可以通过self。ui。xxxObjectName访问。classMainWindow(QMainWindow):FITWINDOW,FITWIDTH,MANUALZOOM0,1,2definit(self):super()。init()调用父类构造函数,创建QWidget窗体self。uiUiMainWindow()创建ui对象self。ui。setupUi(self)构造uiself。setWindowTitle(appname)加载默认配置configgetconfig()self。configconfig单选按钮组self。checkBtnGroupQButtonGroup(self)self。checkBtnGroup。addButton(self。ui。checkBoxocr)self。checkBtnGroup。addButton(self。ui。checkBoxdet)self。checkBtnGroup。addButton(self。ui。checkBoxrecog)self。checkBtnGroup。addButton(self。ui。checkBoxlayoutparser)self。checkBtnGroup。setExclusive(True)实现界面业务逻辑
  对主界面上的按钮、列表、绘图控件进行信号槽连接。自定义的槽函数不用专门声明,如果是自定义的信号,需要在类init()前加上yourSignalpyqtSignal(args)。
  这里以按钮响应函数、列表响应函数为例。按钮点击的信号是clicked,listWidget列表切换选择的信号是itemSelectionChanged。按钮响应函数self。ui。btnOpenImg。clicked。connect(self。openFile)self。ui。btnOpenDir。clicked。connect(self。openDirDialog)self。ui。btnNext。clicked。connect(self。openNextImg)self。ui。btnPrev。clicked。connect(self。openPrevImg)self。ui。btnStartProcess。clicked。connect(self。startProcess)self。ui。btnCopyAll。clicked。connect(self。copyToClipboard)self。ui。btnSaveAll。clicked。connect(self。saveToFile)self。ui。listWidgetResults。itemSelectionChanged。connect(self。onItemResultClicked)5。运行看看效果
  运行pythonmain。py即可启动GUI程序。
  打开图片选择语言模型ch(中文)选择文本检测识别点击开始,检测完的文本区域会自动画框,并在右侧识别结果文本Tab页的列表中显示。
  所有检测出文本的区域列表,在识别结果区域Tab页:
  软件代码
  由于时间有限,软件细节功能还需进一步完善。代码已开源到gitee上,欢迎感兴趣的朋友提pullrequest,共同修改完善。
  代码开源地址:https:gitee。comsignal926ocrguidemo
投诉 评论 转载

亚洲的骄傲!亚洲冠军32掀翻奥运季军苦战五局太刺激全队狂欢2022男排世锦赛小组赛F组的一场比赛,伊朗男排对阵阿根廷男排,最终红,伊朗队苦战五局32掀翻了阿根廷队,多次打出了惊险的局分,真是太刺激,伊朗队真是亚洲的骄傲,赛后伊朗队全队……点满鹰眼能力一望万里,海盗游戏ATLAS的技能系统有多丰富?如果你了解过羽毛球赛事,一定知道鹰眼系统的强大。在这种精细的边界裁判的时候,常常会利用鹰眼高速摄像机回看真实的情况。另外在我国古代的神话故事中,十大特异功能神仙之一的千里眼也是……保罗命中5个三分,拿到26分,山东高速11分优势主场力擒北京北京时间2022年10月13日15时,CBA常规赛比赛打响。山东高速在主场迎接北京控股的挑战。【两队首发阵容】山东高速:陶汉林,焦海龙,高诗岩,保罗,刘毅北京控股:……河北工业大学科研人员提出磷酸铁锂电池荷电状态估计的新方法磷酸铁锂(LiFePO4,LFP)电池具有安全性高、寿命长等优点,是目前电动汽车主流电源之一。荷电状态(StateofCharge,SOC)是电池管理系统(BatteryMan……郎平女儿晒与弟弟合照,白帆为照顾女儿15年不娶,60岁再婚生如果您喜欢这篇文章,请点击右上方的关注。感谢您的支持和鼓励,希望能给您带来舒适的阅读体验。1992年5月27日,伴随着一声啼哭,铁榔头郎平和白帆的女儿白浪出生了。白……去越南游玩,1000元能享受到什么服务?越南姑娘这样解释东南亚各国旅游业的兴起,在国人心中掀起了一股东南亚旅游热潮,比如越南,在东南亚各国中发展的就是相当不错的一个国家,每年都会有百万的中国同胞前去游玩。(此处已添加小程序,请到今日……春节饮食,要牢记这4个事项,避免疾病找上门,保持身体健康春节即将来临,在这个合家团圆的日子里,饮食成为了人们的头等大事,每家每户的餐桌上都是各种各样的美味佳肴,许多人难免会放纵一下。吃吃喝喝原本是件高兴的事,但如果饮食不节制,……美国拉展精彩直击中联重科揽获订单6亿元当地时间3月14日至18日,第36届拉斯维加斯工程机械展(CONEXPOCONAGG2023)在美国拉斯维加斯举行。作为世界三大工程机械展之一,本届展会吸引了全球1800多家参……用Python写了一个图像文字识别OCR工具人生苦短,快学Python!在之前的文章里,我们多次尝试用Python实现文本OCR识别!今天我们要搞一个升级版:直接写一个图像文字识别OCR工具!引言最近在……买排骨,要分清前排和后排,哪的脆骨多?哪肉多?差别大俗话说馋人当吃连骨肉,一块块骨肉相连、肥瘦相间的排骨,对肉食爱好者来说是餐桌上最具吸引力的存在。环肥燕瘦,无论什么样的做法,细嫩鲜香的排骨都能牢牢把握大家的味蕾,但排骨也是分部……消息称小米有数以千万计的手机库存需求明显疲劳【手机中国新闻】此前,DigiTimes报道称,全球智能手机市场领导者三星拥有约5000万部未售出的智能手机。现在该媒体报道称,其他制造商显然也出现了类似的情况。由于需求不足,……好名字的第二大要素是寓意好,有内涵名字最重要的应用场合之一就是自我介绍,如果能够在介绍名字时出口成章,让人好感顿生,那么从人群中脱颖而出就是很简单的一件事。在这方面,汉字具有得天独厚的优势。汉字最开始就是……
女排队长冯坤不顾一切嫁大12岁泰国男友,泰国皇室送祝福中华龙乡铜梁龙友圈遍布世界俗话说人洗三澡,命比纸薄,到底哪些澡会影响身体健康呢?斯诺克功亏一篑白雨露憾失世锦赛冠军和职业赛资格严禁出租车接网约车订单,违者罚款一万元,出租车转型何时实现?2022适合发朋友圈很棒的文案柔情的吻又是30分大胜!没有莫兰特灰熊16胜2负,胜率直逼73胜勇士双十一降价大促,这五款手机可以闭眼入,最低跌至1599元30条夸一个女生眼睛漂亮的句子冬奥会亮相后,NikeACGZoomGaiadome将在零售治疗抽筋的10种最佳食物
宝宝夏季感冒的护理要点是什么冰湖阅读练习及答案剑王朝人物实力境界排行,谁才是最厉害的人?爱运动的我苦尽甘来懂人生怒海潜沙吴三省是好是坏?解连环是吴三省杀的吗?世界六大被公认长的最漂亮的狗狗你喜欢他们吗(图)俗语老人长寿,子女短寿这句话真的有道理吗伤害孩子最深的往往是这句话父母基二十年后回故乡打脸吴金贵,申花外租国脚首秀进球,顶替者像无头苍蝇4国脚归队开学的作文开学的第一天

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州