Have a Question?

如果您有任务问题都可以在下方输入,以寻找您想要的最佳答案

怎么提取图片中的文字,OCR软件推荐 2024

怎么提取图片中的文字

题图来自Unsplash,基于CC0协议

导读

  • 图片文字提取技术原理
  • OCR软件推荐 2024
  • 如何从图片中提取文字 教程
  • 在线OCR工具对比
  • 图片文字识别准确率影响因素
  • 把图片里的文字拿出来,这事儿现在已经跟拍个照似的方便了。无论是PDF里的扫描件,还是照片上快递单、书籍页面,甚至是餐厅菜单、餐馆菜单上的字,你都可以轻松地把它“变成文字”。这种技术最核心的玩法,其实就叫 OCR,也就是光学字符识别 (Optical Character Recognition)。下面,我们来聊聊怎么操作,以及背后的一些道理。

    说到提取工作的原理,虽然有好多种方法,但说到底,无非就是三板斧:图像解析、文字定位、字符识别。

    1. 图像是什么? 把图片变成计算机能懂的一堆小方块。就像你看照片时,看到的是连续的图像,但计算机默认是一颗颗的“像素”,每个像素有不同颜色代码。这是最基础的一步。
    2. 找到“文字在哪里”? OCR 工具像侦探,要先在图片中找出哪些区域是文字,而不是背景或者图片的其他内容。这需要一些“图像处理”的功夫,比如分析颜色和饱和度的变化、边缘检测等。
    3. 读出来?是什么字? 这一步是最有技术含量的。只要找到了文字区域,下一功夫就是“猜”这些图像中的“小方块”代表什么文字。它是看看像素变化,对比数据库里的各种字体写法来识别,或者用更高级的技术,比如时下比较流行的方式就是“文字检测”和“文字行识别”,再进一步识别每个字符。整个过程就是通过某种算法把图像中的文字以及其他信息如字体、大小、颜色、位置(旋转角度)等都提取出来,这叫做“OCR 输出数据”,简称 OSD。

    能做这个事儿的软件和在线工具实在太多了。如果你是在桌面搞定,Windows 自带的扫描文档功能、Mac 自带的图像捕捉或者文字感应器功能也不赖。而对于更专业、灵活或者控制更多玩意的需求,像像 Python 关联库 PyTesseract 就提供了这个功能, Hyper、或者说些 PDF 编辑器,如 Adobe Acrobat Pro等。如果你经常弄图片文字,其实手机下载个微信,微信有个扫一扫图片识别,包括文字提取;用手机本身也好,像一些 OCR App 如“扫全能王”、“Office 文件扫描仪”、“Google Lens”,也能干这个活儿。云上 网站更好鼓捣,像像 Microsoft Azure Form Recognizer、ABBYY Cloud OCR、有一些开源的 Tesseract OCR 在线接口、百度的通用文字识别 API 如果你在乎国内的情况,没问题,再加上专门的工具,比如 Readiris、ABBYY FineReader(专业软件,功能强,但通常也花钱)。

    想动手做,一般分几个步骤:

    1. 准备图: 确保你抓到的图清晰,字迹有模有样,别画蛇添足加那么多背景杂七杂八。光线拍得好,自然识别就轻松不少。
    2. 准确定位和选取: 别整个图片全拿来塞给工具,哪儿有字,你手动框起来最好,尤其是那些混合了大图或者复杂的截图,重点提起区域准确对工具帮助大。当然,有智能指的是,很多工具自己也能自动搞定这个部分,只不过很多时候你手动框框,效果更佳一点。
    3. 上手识别: 把图投喂进 OCR 软件里,等待识别,看结果出来。
    4. 校正: 哎呀我看出来识别也有不对的地方,有些字没认出来,少写了一两个字,这咋整?它通常会给你提供修正、复制粘贴,甚至一个一个地手动修改。OCR 不是没有错误的,你得看情况。
    5. 保存输出: 能提取出来的文字,可以复制粘贴,或者导成文本文件、Excel 或 PDF 等格式,看你需要。

    说到提取资讯,其实 OCR 的正确率并不是铁板一块,它跟啥都有关系,你投喂进去了,它输出的质量也和你给的材料息息相关。

    • 图本身质量: 清不清晰?字迹模不模糊?颜色干净不干净?还是说图片背景啥都有,真正要识别的文字被糊掉,就像你糊着眼去看东西一样,越糊好像看到的东西越少。
    • 光线亮不亮: 图拍出来要么光线特别不足,反差特别大,或者跟纸上的字颜色反差(例如黑字印在米黄纸上,还是白字印在红纸上)很小,那识别肯定没那么容易、不那么靠谱。
    • 文字的位置和大小: 要识别的文字在图里面是在哪个地方?是在边缘、角落,还是中间高地?字是印得比人大,比较大,还是印刷得很小。这些位置和尺寸,有时候也小有问题。
    • 字体和语言: 工具支持哪种字体、哪种语言。如果你不常用的标准字体它是能认出来的,或者你用的特殊艺术字体,它识别可能就不怎么准确;另外,中文和英文、或者其他语言,只要你的 OCR 工具没配置上这方面的语言数据,就没法完美识别。

    总的来说,从一张图里抠文字,这事儿现在真的不难,连初中没毕业的小白都能自给自足用。只要你准备好了合适的图,选择个合适的 OCR 工具,注意些细节,就能轻轻松松地把众多图片资料里的“干货”全都提取出来。如果你之后还想自己做个自动提取的名字工具,也不过是代码敲敲、服务器搭搭,门槛还真不高。

    © 版权声明

    本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com