做网站一年大概的盈利,企业营销模式,全国企业老板电话名录,微信微网站开发报价单前言 毫无疑问的是#xff0c;关于人工智能方向#xff0c;python真的十分方便和有效。 这里呢#xff0c;我将介绍python众多OCR模块中一个比较出色的模块#xff1a;cnocr 模块介绍 cnocr是一个基于PyTorch的开源OCR库#xff0c;它提供了一系列功能强大的中文OCR模型和…前言 毫无疑问的是关于人工智能方向python真的十分方便和有效。 这里呢我将介绍python众多OCR模块中一个比较出色的模块cnocr 模块介绍 cnocr是一个基于PyTorch的开源OCR库它提供了一系列功能强大的中文OCR模型和工具可以用于图像中的文字检测、文字识别和文本方向检测等任务。它可以识别各种不同风格和字体的中文文字包括简体字和繁体字可根据具体需求在官方文档中查找对应的模型作为参数输入实例化cnocr方法。官方也提供有英文的识别模型但其他语言就暂时没有更多的模型但可以根据自己的需要和自己准备的数据集对模型进行训练。 项目地址https://github.com/breezedeus/CnOCR demo实例 cnocr的开发目标就是“使用简单”因此你仅仅需要一些简单的操作便能够完成ocr工作。 安装基本上无坑pip直接就装上了
pip install cnocr 这里是一个简单的例子: 这是项目目录sample.py是demo脚本images里装着需要识别的图片outs是处理后的图片 这是sample.py的代码
from cnocr import CnOcr
import cv2
from PIL import Image, ImageDraw, ImageFontFONT_STYLE ImageFont.truetype(msyhl.ttc, 30, encodingutf-8)# 图片名称
file_name images/img.png
target_name outs/img.pngocr CnOcr()
result ocr.ocr(file_name)# 将ocr识别的内容、以及具体位置打包成字典
txts []
for re in result:# print(re[position][0])# print(type(re[position][0]))txts.append([re[text], [re[position][2], re[position][0]]])# 创建一个可以在给定图像上绘图的frame对象
frame cv2.imread(file_name)
for tt in txts:# text是识别出来的文字text tt[0]# site是他的矩形识别图形的起点、终点列表# 样式为[[起始点x轴坐标, 起始点y轴坐标], [终点x轴坐标, 终点y轴坐标]]site tt[1]print(text, site)cv2.rectangle(frame, (site[0][0], site[0][1]), (site[1][0], site[1][1]), color(0, 255, 0), thickness3)# 请根据实际情况在原图上标字这里是默认将字体标在了识别框下方100的位置因此仅作参考# img Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))# draw ImageDraw.Draw(img)# draw.text((site[1][0], site[1][1] 100), text, (0, 255, 0),# fontFONT_STYLE)# frame cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)cv2.imwrite(target_name, frame)这是生成的图片 这是识别到的内容 至此一次简单的ocr便完成了