什么是OCR?

OCR英文全称是Optical Character Recognition,中文叫做光学字符识别。它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式。文字识别是计算机视觉研究领域的分支之一,而且这个课题已经是比较成熟了,并且在商业中已经有很多落地项目了。比如汉王OCR,百度OCR,阿里OCR、有道OCR、科大讯飞等等。其实我们自己也能感受到,OCR技术确实也在改变着我们的生活:比如一个手机APP就能帮忙扫描名片、身份证,并识别出里面的信息;汽车进入停车场、收费站都不需要人工登记了,都是用车牌识别技术;我们看书时看到不懂的题,拿个手机一扫,APP就能在网上帮你找到这题的答案。此次因某些需求需测试当前比较常见的各个OCR文字识别的识别率,所以总结该文档仅供参考!

具体测试图片的实例  由于都是网图,就不粘贴出来了,自己可以去网上找关于印刷体(印刷体中文、英文、中英文混合)、手写体(中文、英文、中英文混合)的图片以供测试。

测试日期为2021年4月。

 一、腾讯云OCR文字识别

官方地址:https://cloud.tencent.com/product/ocr-catalog

需完成实名认证、开通文字处理。直接使用微信登录完成相关要求即可。

免费次数:首次申请有1000次免费次数。但只有当月有效,也就是说哪怕你3月29日开通,到4月份也就失效了。

具体API概览:https://cloud.tencent.com/document/product/866/33515

默认接口请求频率限制:10次/秒

需新建API密钥生成 SecretId和SecretKey。具体使用示例官网有介绍,可根据自己具体所用开发语言选择不同的示例。

 

本人测试示例:通用印刷体识别(高精度版)、通用手写体识别、英文识别

1、英文识别(对应接口类EnglishOCR) 只能识别到英文,无法识别中文(是一点都识别不了)

针对纯手写英文个人感觉在60%左右吧

2、通用印刷体识别(高精度版 对应接口类GeneralAccurateOCR) 能识别中英文

针对手写英文识别率估算65%左右  英文可识别空格标点符号等

针对手写中文识别率95%左右

针对印刷体中英文识别率90%以上

针对多题型(机打、手写、中英混合)识别率60%吧

3、通用手写体识别(对应接口类GeneralHandwritingOCR)   缺陷:英文识别不了空格标点符号等

针对手写英文识别率估算50%左右  英文识别不了空格标点符号等

针对手写中文识别率95%左右

针对印刷体中英文识别率90%吧

针对多题型(机打、手写、中英混合)识别率60%吧

 

返回json格式,DetectedText参数为具体识别内容。

具体返回参数说明:https://cloud.tencent.com/document/api/866/33527#TextGeneralHandwriting

返回示例如:

 

优点:文档较丰富

缺点:调用比较耗时、识别率一般

如果要使用腾讯云的话建议使用通用印刷体识别(高精度版)

 

二、百度云OCR文字识别

官网地址:https://cloud.baidu.com/product/ocr_general

API文档:https://cloud.baidu.com/doc/OCR/s/jk9m7mj1l

可使用百度账号登录然后创建应用并生成Access Token。AccessToken在API文档中有相关链接

 

具体免费政策:根据不同接口有不同限制,从50到500不等

具体示例在API文档中也有介绍具体返回json格式,读取的内容参数为word

返回示例如:

 

本人测试实例三种:试卷分析与识别、手写文字识别、通用文字识别(高精度版)

针对手写英文识别率   手写文字识别最好75%

针对手写中文识别率   都在90%左右

针对印刷体中英文数字混合识别率   都在90%以上

针对多类型(机打、手写、中英混合)识别   手写文字识别最好60%多吧

 

优点:文档丰富、使用不复杂

缺点:调用比较耗时、识别率一般

如果要用百度云Ocr建议使用  手写文字识别

 

三、有道云Ocr文字识别

官网地址:https://ai.youdao.com/product-ocr-hand.s

需创建应用和应用ID、应用密钥

 

 

具体费用政策:无免费体验次数,但注册时会返50元具体调用会从这50元中扣

本人测试示例:整题识别(含公式)、通用文字识别

针对手写英文识别率  都还可以80%是有的

针对手写中文识别率  都可以80%

针对印刷体中英文数字混合识别率  都还可以90%

针对多类型(机打、手写、中英混合)识别率  60%吧

返回json格式,text参数为具体读取内容

具体返回示例如:

 

优点:暂时想不出来

缺点:不是太友好,官方给的实例有的都是错的。调用返回错误消息比较模糊

四、阿里云OCR文字识别

官方地址:https://www.aliyun.com/activity/bigdata/ocrprodpromotionjuly

用支付宝扫码登录,需实名认证,购买后直接使用AppCode调用接口即可

单用户限制10QPS

免费政策:500次

本人测试实例:印刷文字识别-试卷识别/OCR文字识别、印刷文字识别-答题卡主观题识别

针对手写英文识别率   印刷文字识别-试卷识别/OCR文字识别没法用识别率非常低、印刷文字识别-答题卡主观题识别一样拉,跟腾讯云一样识别不了空格和标点符号

针对手写中文识别率   都还可以80-90%

针对印刷体中英文数字混合识别率   都还可以80%

针对多类型(机打、手写、中英混合)识别率   70%

 

返回json格式,word参数为返回的文本

返回示例如:

 

优点:针对多题型识别率还可以

缺点:太杂了,不友好。找个东西都需要好久。针对纯手写英文还是算了吧

 

五、汉王OCR文字识别

在阿里云里面可直接找到,用法跟纯阿里云差不多

https://market.aliyun.com/products/57124001/cmapi00035425.html?spm=5176.2020520132.101.3.25887218RT04tL#sku=yuncode2942500001

免费政策:0元/20次

本人测试实例:汉王通用文本识别、汉王手写体识别

针对手写英文识别率  都还可以90%

针对手写中文识别率  都还可以80%是有的

针对印刷体中英文数字混合识别率  都还可以90%

针对多类型(机打、手写、中英混合)识别率  都还可以70%

 返回示例如:

 

优点:两种方式识别都差不多,比较稳定

缺点:感觉调用时长是最长的

 

综上所述:

最普通、中庸的:有道云

比较稳定的:汉王

比较友好的:百度

免费次数最少的:汉王和阿里

 

针对手写英文识别率   阿里最差,汉王相比其他略好些(个人感觉)。其他的都还可以 70%是有的
针对手写中文识别率   腾讯云的英文识别外,其他识别率也都在90%
针对印刷体中英文数字混合识别率   都还可以基本都在90%左右
针对多类型(机打、手写、中英混合)的识别率   汉王=>阿里>百度>腾讯=有道

另:由于某些原因科大讯飞的OCR暂未测试,据朋友测试后反馈科大讯飞的识别率能好一些,略优于汉王。

 以上为本人测试总结,仅供参考!

 

才疏学浅,相关文档等仅供自我总结,如有相关问题可留言交流谢谢。

 

版权声明:本文为mzflog原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mzflog/p/14610905.html