OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。
生活和工作中我们也经常需要从图片中提取文字信息,比如从扫描件,截图或照片中提取有用的信息。做OCR的工具也很多,很多这样的网络工具,如
FREE ONLINE OCR SERVICE
Convertio
也有本地版的,最有名的当属tesseract-ocr
https://github.com/tesseract-ocr/tesseract/wiki/Command-Line-Usage
给大家举几个生活中常见的例子
1. 你找人要一个手机号,他发一张截图给你。图片发过来,你不能直接拨号,要么把手机号背下来,要么再找张纸记下来,才能拨号。那个这个时候,OCR就派上用处了。
分别用上面提到的三个工具来识别,看效果
ONLINE OCR
Convertio
tesseract-ocr
总体来说,三个方法都能识别出手机号来,但是中文的识别效率各不相同。其实这张图还是比较难的,因为文字的排布比较杂乱,给识别增添了不少麻烦。
2.你的同事设计了一个human breast cancer panel,你想把gene list拿过来参考一下,结果他发给你一张截图。虽然只有45个基因,但是要自己全部敲一遍,还是要点时间的。万一下次人家设计一个1000个基因的panel,岂不是要哭了。没关系,OCR又可以派上用场了。(当然这里最有效最保险的方法是,直接找你的同事要Excel版的gene list,如果你难以启齿或者信奉“自己动手丰衣足食”,那么接着往下看!)
ONLINE OCR
标题能完整的识别出来,有些基因被分开了,格式打乱了,整体满意度80%
Convertio
堪称完美,标题,gene名字,格式都正确,满意度100%
tesseract-ocr
标题识别有点小错误,gene名字有几个带有引号或下划线,格式基本保留,满意度90%
3.前面我们讲了百度文库免费下载,如果你还是有concern,那么其实也可以先截图再转文字。还是拿“测序名词解释”这篇文档举例,先截个长图
ONLINE OCR
整体效果还不错
Convertio
这次的效果就逊色不少了,错误很多
tesseract-ocr
准确率还行,但是文字中间都有间隔,虽然去掉也很容易(全局替换空格为空),但是用户体验就差了不少。
我相信OCR在生活中还有很多的应用,比如信件或者包裹拍照,识别邮编之后分拣,手机拍名片自动提取姓名,手机号添加到通讯录,我相信即使在微信里面发图片,敏感信息还是能被后台监测到的,OCR对腾讯来说应该是小菜一碟。这里抛砖引玉,欢迎大家列举更多应用。