人工智能Java SDK:文字识别(OCR)工具箱
文字识别(OCR)工具箱文字识别(OCR)目前在多个行业中得到了广泛应用,比如金融行业的单据识别输入,餐饮行业中的发票识别,交通领域的车票识别,企业中各种表单识别,以及日常工作生活中常用的身份证,驾驶证,护照识别等等。OCR(文字识别)是目前常用的一种AI能力。
OCR工具箱功能:方向检测0度90度180度270度图片旋转
文字识别(提供三个模型)
mobile模型light模型服务器端模型版面分析(支持5个类别,用于配合文字识别,表格识别的流水线处理)TextTitleListTableFigure表格识别生成html表格生成excel文件运行OCR识别例子1.1文字方向检测:例子代码:OcrDetectionExample.java运行成功后,命令行应该看到下面的信息:[INFO]-Resultimagehasbeensavedin:build/output/detect_result.png[INFO]-[class:"0",probability:1.00000,bounds:[x=0.073,y=0.069,width=0.275,height=0.026]class:"0",probability:1.00000,bounds:[x=0.652,y=0.158,width=0.222,height=0.040]class:"0",probability:1.00000,bounds:[x=0.143,y=0.252,width=0.144,height=0.026]class:"0",probability:1.00000,bounds:[x=0.628,y=0.328,width=0.168,height=0.026]class:"0",probability:1.00000,bounds:[x=0.064,y=0.330,width=0.450,height=0.023]]输出图片效果如下:1.2文字方向检测帮助类(增加置信度信息显示,便于调试):例子代码:OcrDetectionHelperExample.java运行成功后,命令行应该看到下面的信息:[INFO]-Resultimagehasbeensavedin:build/output/detect_result_helper.png[INFO]-[class:"0:1.0",probability:1.00000,bounds:[x=0.073,y=0.069,width=0.275,height=0.026]class:"0:1.0",probability:1.00000,bounds:[x=0.652,y=0.158,width=0.222,height=0.040]class:"0:1.0",probability:1.00000,bounds:[x=0.143,y=0.252,width=0.144,height=0.026]class:"0:1.0",probability:1.00000,bounds:[x=0.628,y=0.328,width=0.168,height=0.026]class:"0:1.0",probability:1.00000,bounds:[x=0.064,y=0.330,width=0.450,height=0.023]]输出图片效果如下:2.图片旋转:每调用一次rotateImg方法,会使图片逆时针旋转90度。
例子代码:RotationExample.java旋转前图片:旋转后图片效果如下:3.文字识别:再使用本方法前,请调用上述方法使图片文字呈水平(0度)方向。
例子代码:LightOcrRecognitionExample.java运行成功后,命令行应该看到下面的信息:[INFO]-[class:"你",probability:-1.0e+00,bounds:[x=0.319,y=0.164,width=0.050,height=0.057]class:"永远都",probability:-1.0e+00,bounds:[x=0.329,y=0.349,width=0.206,height=0.044]class:"无法叫醒一个",probability:-1.0e+00,bounds:[x=0.328,y=0.526,width=0.461,height=0.044]class:"装睡的人",probability:-1.0e+00,bounds:[x=0.330,y=0.708,width=0.294,height=0.043]]输出图片效果如下:4.版面分析:运行成功后,命令行应该看到下面的信息:[INFO]-[class:"Text",probability:0.98750,bounds:[x=0.081,y=0.620,width=0.388,height=0.183]class:"Text",probability:0.98698,bounds:[x=0.503,y=0.464,width=0.388,height=0.167]class:"Text",probability:0.98333,bounds:[x=0.081,y=0.465,width=0.387,height=0.121]class:"Figure",probability:0.97186,bounds:[x=0.074,y=0.091,width=0.815,height=0.304]class:"Table",probability:0.96995,bounds:[x=0.506,y=0.712,width=0.382,height=0.143]]输出图片效果如下:5.表格识别:运行成功后,命令行应该看到下面的信息:MethodsRPFFPSSegLink[26]70.086.077089PixelLink[4j73.283.077.8...输出图片效果如下:
生成excel效果如下:
目录:http://www.aias.top/
Git地址:https://github.com/mymagicpower/AIAShttps://gitee.com/mymagicpower/AIAS
Python 自动识别图片文字—保姆级OCR实战教程
这是本文的目录前言1.准备2.cnocr识别图片的中文3.pytesseract识别图片的英文Python资料文末获取「Python经验分享」一、Python所有方向的学习路线二、学习软件三、入门学习视频四、实战案例五、面试资料资源领取好文推荐前言OCR是光学字符识别(英语:OpticalCharacterRecognition,OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。很早之前就有同学在后台回复希望出一篇OCR相关的文章,今天尝试了一下cnocr和tesseract两个Python开源识别工具的效果,给大家分别讲讲两个工具的使用方法和对比效果。
1.准备开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南进行安装。(可选1)如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.(可选2)此外,推荐大家用VSCode编辑器,它有许多的优点:Python编程的最好搭档—VSCode详细指南。请选择以下任一种方式输入命令安装依赖:
Windows环境打开Cmd(开始-运行-CMD)。MacOS环境打开Terminal(command+空格输入Terminal)。如果你用的是VSCode编辑器或Pycharm,可以直接使用界面下方的Terminal.(选择一)安装cnocr:pipinstallcnocr看到Successfullyinstalledxxx则说明安装成功。如果你只想对图片中的中文进行识别,那么cnocr是一个不错的选择,你只需要安装cnocr包即可。但如果你想试试其他语言的OCR识别,Tesseract是更好的选择。
(选择二)安装pytesseract:首先,无论是Windows还是macOS,你都需要安装pytesseract:pipinstallpytesseract其次,还需要安装Tesseract.(macOS)Tesseract在macOS下可以使用brew安装:brewinstalltesseract非常方便,一条命令即可完成安装。(Windows)安装Tesseract需要先下载安装tesseract的程序,然后下载中文简体字预训练好的模型包(尽管本教程不会用tesseract,但还是给大家提供了)。你可以在Python实用宝典公众号后台回复:tesseract打包下载。下载完成后,将tesseract-ocr-setup-4.00.00dev.exe安装到Tesseract-OCR指定目录下,复制该目录路径增加到Path中:并将训练好的模型文件chi_sim.traineddata放入该目录中,这样安装就完成了。
2.cnocr识别图片的中文cnocr主要针对的是排版简单的印刷体文字图片,如截图图片,扫描件等。目前内置的文字检测和分行模块无法处理复杂的文字排版定位。
尽管它分别提供了单行识别函数和多行识别函数,但在本人实测下,单行识别函数的效果非常糟糕,或者说要求的条件十分苛刻,基本上连截图的文字都识别不出来。
不过多行识别函数还不错,使用该函数识别的代码如下:
fromcnocrimportCnOcrocr=CnOcr()res=ocr.ocr(‘test.png’)print(“PredictedChars:”,res)用于识别这个图片里的文字:效果如下:如果不是很吹毛求疵,这样的效果已经很不错了。
3.pytesseract识别图片的英文如果你的OCR目的不是中文而是英文,是需要别的模型的。这里给大家分享Tesseract-OCR,它是一款由HP实验室开发,由Google维护的开源OCR引擎。
Tesseract-OCR可扩展性很强,你可以基于它训练属于自己的OCR模型。
现在给大家看看它分类英文的效果,代码如下:
importpytesseractfromPILimportImage
image=Image.open(‘test.png’)code=pytesseract.image_to_string(image,lang=‘eng’)print(code)识别的图片:效果如下:Tesseract识别英文的效果真的很不错,中文效果就比较一般了。
如果你想试试Tesseract识别中文,只需要将代码中的eng改为chi_sim即可,不过相信我,效果不忍直视。
我们的文章到此就结束啦,如果你喜欢今天的Python实战教程,请持续关注
Python资料文末获取「Python经验分享」学好Python不论是就业还是做副业赚钱都不错,但要学会Python还是要有一个学习规划。最后给大家免费分享一份全套的Python学习资料,给那些想学习Python的小伙伴们一点帮助!
一、Python所有方向的学习路线Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
四、实战案例光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、面试资料我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。
资源领取这世界上赚钱成本最低的就是:用知识投资大脑
人生什么时候学习都不晚,晚的是你一直想学却一直没有行动,而导致大量内耗
最后祝你学习愉快
好文推荐了解python的前景:https://blog.csdn.net/weixin_49891576/article/details/127187029
python有什么用:https://blog.csdn.net/weixin_49891576/article/details/127125308
【人工智能】使用百度api批量识别图片上的文字,进阶版
【机器学习】K-means三维聚类,进阶版,pythonHelenLee01:哈哈哈哈哈哈哈哈作为学习记录,仅供参考。当然有不足的部分,xd们做改进后可以把链接留下,互相学习啊哈哈
【python】前程无忧51job岗位招聘信息爬虫程序,自动翻页,进阶版ClearwineQ:你好,博主,我想问下运行出来为什么没有生产csv文件啊
【机器学习】sklearn库的学习之TF-IDF算法,python,超简单!机智的羊小驼:这个使用了那个语料库呀看不出来
【机器学习】K-means三维聚类,进阶版,pythonhurtyyy:你好,怎么保存分割的结果呢
【python】opencv教程CV2模块——视频捕获,延时摄影视频、鬼畜表情包密集制作LbZh1899:请问为什么运行了最后没有保存视频