有时你遇到一篇古老的文献,PDF文档还是扫描版。又或者是遇到一幅网页版海报,上面的文字你完全看不懂。
但你无法把图片中的文字复制下来做进一步处理,是不是让人头大?
虽然市场上有很多OCR软件可以识别图片中的文字,但还是有种种局限性,比如无法识别文字排版,需要转成其他文件后才能处理,无法直接操作。
最近,一位来自MIT的学生Kevin Kwok解决了以上这些问题。他用计算机视觉算法写了个Chrome插件Naptha,可以直接识别网页图片中的文字,并直接对它们进行高亮、复制粘贴、翻译、修改等操作。
拾取图片中的文字
Naptha无需在电脑上安装App,直接在Chrome应用商店中搜索Project Naptha,就可以看到这款插件,一键安装后即可在Chrome浏览器中使用。
Naptha可以用于在线漫画、扫描文档,甚至连拍摄照片中的文字也能识别出来。
普通的网页文字自然不在话下:
如果是别人给你发过来的扫描文件也没关系,直接把文件拖到Chrome浏览器中(Chrome支持打开多种本地文件),Naptha就能识别。
对于照片中的图片,Naptha也能够读出。作者Kevin拍摄了一本书的封面,除了文字不清晰、竖向排列的情况,封面的书名和简介都能正常识别出来。
Naptha还支持读取表格文字,并将复制下来的文字粘贴到Excel里。
Kevin承诺,Naptha未来还会加入翻译、除去文字水印、直接在图片上修改文字等功能。这些功能目前还处在beta测试阶段,处于不稳定或者不可用状态。
不是OCR,是文本检测
光学字符识别(OCR)已经不是什么新鲜事了,虽然Naptha实现的功能看起来像OCR,但实际上它主要功能实际上是文本检测。
一般的OCR不包含语言模型,而Naptha则可以根据上下文的概率输出一系列字母。比如把一串字符判定成“hello”,而不是“he1 | o”。
OCR需要知道图片中的语言才能正确识别文本,Naptha使用的是一种称为“ 笔划宽度变换”的算法,该算法由微软研究院于2008年提出,它就像人一样,即使不知道是何种语言,也能猜到文字就在那里。
结合其他算法,如连通分量分析(识别不同的字母)、otsu阈值(确定字间距)、不相交的集合森林(识别文本行),Naptha可以非常快速地建立文本区域、单词和字母的模型,识别图中存在哪些特定字母。
通过一些基本的布局分析和文本度量,Naptha还可以找出文本的对齐参数、字体大小和字体粗细。有了这些信息,它可以在同一个地方以类似的字体重新打印文本,或者将文本改成同字体的其他文字。
传送门
博客地址:
https://projectnaptha.com/
Chrome插件下载地址:
https://chrome.google.com/webstore/detail/project-naptha/molncoemjfmpgdkbdlbjmhlcgniigdnf