怎样用python 自己写一个ocr
你的意思是想纯自己实现?
这个嘛,自顶向下设计就行,先解析图像,你需要先实现rgba转为灰度图,再设定阈值对图像二值化处理(这个阈值设定你可以自己写算法实现)。这样,一副图像就被简单抽象出来了,再对图像进行切片,并使用稀疏矩阵存储,你就保留下来了文字的形状信息。
机器自己并不懂什么是1什么是2,为此,你需要先撸几套人类识别好的数据,你可以自己生产,可以写个小爬虫在网上四处收集数据,也可以选择付费使用大厂已标记好的数据集。训练数据是如此多,你可以为每一个字符建立一组矩阵存储,设定参数,根据数据不断调整矩阵。
现在,你有了许多代表字符的矩阵,对于一组切片好的待识别文字矩阵,你需要将它交给机器计算哪些字符与待识别字符最匹配(这里有很多优化算法和数据结构的点,你可以自行研究,机器识别速度往往与此有关),待识别成功后,再把切片信息拼回去就行了。
■网友
实现OCR,关键的并不是在于Python,而是在于后端实现部分,在这个过程中Python只是作为一种串通不同模块的一个工具,你同样也可以使用JS、php、Java等语言把一款ocr工具流程打通。
既然题目提到了使用Python,那么这里就介绍使用Python实现ocr的方式,介绍3种方式,
调用API调用后端服务直接使用算法模型调用第三方库调用APIOCR作为当下非常热门且在现实生活中较为常用的一个领域,在OCR方面的研究自然是非常多的。目前提供OCR API调用的网站有很多,但是绝大多数都是收费的,这个也能理解,别人提供调用,需要很大的服务资源支撑,毕竟都要吃饭嘛。
但是,也的确会有一些非常良心的平台,直接提供免费的API调用,下面就介绍2个较为不错的提供免费OCR API调用的平台,
1. ocr.space
ocr.space免费版每个月限制25000次请求,每天限制500次,如果个人或者团队内小范围使用,这个数量是可以满足的。但是,如果希望搭建一个平台供大众使用,这显然是远远不够的。
2. 百度OCR
百度智能云提供的OCR API覆盖范围更加全面,且免费额度也更高一下,它主要覆盖如下场景,
通用文字识别卡证文字识别票据文字识别汽车场景文字识别教育场景文字识别以通用文字识别为例,它每天提供高达50000次免费调用额度。
详细的情况可以点击下方链接查看,
https://cloud.baidu.com/doc/OCR/s/fk3h7xu7hPython如何实现API的调用呢?
在API调用方面,上述两个平台提供的调用方式都是以post方式进行调用,也就是说以rest接口与平台进行交互,对编程语言不敏感,你可以使用Java、php、js任何语言,只要能够发送post请求获取结果就好,下面就以Python调用ocr.space接口为例进行介绍一下。
由于ocr.space对接口以及进行了封装,所以调用非常简单,只需要下面几步,
注册API Key使用requests post请求注册API Key
可以通过下面链接注册API Key,
https://us11.list-manage.com/subscribe?u=ce17e59f5b68a2fd3542801fd\u0026amp;id=252aee70a1发送请求
我们把api_key、语言等 一些必要参数写到一个字典里,然后使用requests这个库发送post请求即可获取ocr识别结果。
调用后端服务调用API是最为简单的一种方式,我们不需要去关注后端及中间数据传输的过程,只需要填写一下api_key即可,简短的几行代码就可以实现。这里我再来介绍一款进阶的方式,需要如果需要使用,需要自己做进一步的封装和完善。
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 手机■遇“纠纷”自己报警被识破 男子假卖手机骗60多万
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 有啥方法,网站,项目可以自己练习计算广告学
- 设计专业学生上传自己的作品,用哪个网站比较好
