pytesseract识别中文并获得中文的位置信息(Bounding Box)
pytesseract识别中文并且获得识别的字符的位置信息,识别中文随便找找就能找到相关资料,但是获得位置信息的中文资料有点少呀,下面通过学习这个获得了怎么得到位置信息的方法了。总体来说有两个方法。一个是image_to_boxes,该方法只会返回识别后的位置信息,没有字符;另一个是image_to_data,它返回的信息就多了,位置信息,识别的字符等等(详情可以看上面的链接)。还需要注意的是,image_to_data可以通过output_put参数选择返回数据格式。
image_to_data(image, lang=None, config='', nice=0, output_type=Output.STRING, timeout=0)
实验性质的代码如下:
import cv2
import pytesseract
from pytesseract import Output
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
import numpy as npdef recoText(im):"""识别字符并返回所识别的字符及它们的坐标:param im: 需要识别的图片:return data: 字符及它们在图片的位置"""data = {}d = pytesseract.image_to_data(im, output_type=Output.DICT, lang='chi_sim')for i in range(len(d['text'])):if 0 < len(d['text'][i]):(x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])data[d['text'][i]] = ([d['left'][i], d['top'][i], d['width'][i], d['height'][i]])cv2.rectangle(im, (x, y), (x + w, y + h), (255, 0, 0), 1)# 使用cv2.putText不能显示中文,需要使用下面的代码代替#cv2.putText(im, d['text'][i], (x, y-8), cv2.FONT_HERSHEY_SIMPLEX, 0.3, (255, 0, 0), 1)pilimg = Image.fromarray(im)draw = ImageDraw.Draw(pilimg)# 参数1:字体文件路径,参数2:字体大小font = ImageFont.truetype("simhei.ttf", 15, encoding="utf-8")# 参数1:打印坐标,参数2:文本,参数3:字体颜色,参数4:字体draw.text((x, y-10), d['text'][i], (255, 0, 0), font=font)im = cv2.cvtColor(np.array(pilimg), cv2.COLOR_RGB2BGR)cv2.imshow("recoText", im)return dataif __name__ == '__main__':img = cv2.imread('2.png')#cv2.imshow("src", img)data = recoText(img)cv2.waitKey(0)cv2.destroyAllWindows()
效果如下(从图中可以看出自带的chi_sim识别字库识别效果不是很好呀):
pytesseract识别中文并获得中文的位置信息(Bounding Box)相关推荐
- Python使用正则表达式识别代码中的中文、英文和数字实例演示
Python 正则表达式识别代码中的中文.英文和数字 识别中文 识别英文 识别数字 拓展 在文本处理和数据分析中,有时候需要从代码中提取出其中包含的中文.英文和数字信息.正则表达式是一种强大的工具,可 ...
- Golang中获取中文字符串的子串字符位置及截取子串
Golang中获取中文字符串的子串字符位置及截取子串 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.cs ...
- 中文分词_中文分词及其应用
一.中文分词原理 中文分词是指将一个汉字序列切分成一个一个单独的词.分词就是将连续的字序列按照一定的规范重新组合成词序列的过程.现有的分词方法可分为三大类,分别是基于字符串匹配的分词方法.基于理解的分 ...
- php 图片路径混淆,爬虫遇到了字符图片混淆。pytesseract识别图片字符
本帖最后由 打字的小强 于 2020-6-11 14:05 编辑 最近爬虫遇到了字符图片混淆的反爬.如图所示,文字和图片混在一起,需要对图片进行识别,图片很小,这时候我就想到了pytesseract, ...
- 中文路径_中文分词的原理、方法与工具
海德格尔说"词语破碎处,无物可存在".中文句子不像英文那样的词与词之间有显示空格边界,使得词和词组边界模糊. 为了让计算机更容易理解文本,通常中文信息处理的第一步是中文分词.中文分 ...
- 设置中文linux输入ubuntu,Linux_ubuntu怎么设置成中文?ubuntu中文设置图文方法, 很多朋友安装ubuntu后,发 - phpStudy...
ubuntu怎么设置成中文?ubuntu中文设置图文方法 很多朋友安装ubuntu后,发现都是英文,看不懂要怎么办?其实ubuntu是可以设置成中文的,下文小编就为大家带来ubuntu中文的设置方法, ...
- Wine的安装和配置(实现中文输入法和中文的复制粘贴)(转)
Wine的安装和配置(实现中文输入法和中文的复制粘贴)(转) liuspider 最后修订于 2003年4月14日 版本 0.7 本文档最新版可以在 http://xbkconfp.cosoft.or ...
- Linux下安装宋体以及微软雅黑字体-转PDF后不显示中文,以及中文乱码
PS:转PDF后不显示中文,以及中文乱码. 1.检查字体是否已经安装: fc-list ----------检查所有已有的字体 fc-list :lang=zh ...
- 桥接SSID为中文乱码且中文字符过长的WIFI
解决桥接 SSID 为中文乱码且中文字符过长时无法桥接问题 受到下面这篇文章的启发: 解决路由器中继不能连中文ssid问题 实现思路:在点击确定中继按钮后,进行长度校验之前将中文乱码改为正常的中文字符 ...
最新文章
- 通过代码自定义cell(cell的高度不一致)
- 如何在代码里配置-D 参数?
- 采购订单模板_电子信息制造业解决方案,电子工业采购监管、管理、降本可控化...
- 增加/dev/shm大小
- UA MATH564 概率分布1 二项分布下
- matlab有意思程序,matlab有意思的小程序
- MS CRM 2011——让活动实体在活动菜单中显示
- CORBA GIOP消息格式学习
- 深度学习项目-人群密度估计
- table表头多选框禁用 vue_Vue踩坑小记(四)
- 远程连接hive报错
- 写 JSP 的痛点,真的非常痛!
- 第2章 程序的灵魂-算法
- 诺顿误杀事件造成“疑似病毒大爆发”恐慌
- comp3411 -prolog语言
- 在线生成透明ICO图标神器
- 科目一计算机答题错了能修改吗,科目一答题错了能改么
- linux下ftp客户端主动模式设置
- mysql周德伟课后答案_MySQL数据库技术-周德伟
- 全球与中国结肠水疗机市场深度研究分析报告