0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OCR如何自动识别图片文字

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-10-31 16:45 次阅读

OCR 是光学字符识别(英语:Optical Character Recognition,OCR)是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。

很早之前就有同学在公众号后台回复希望出一篇 OCR 相关的文章,今天尝试了一下 cnocr 和 tesseract 两个 Python 开源识别工具的效果,给大家分别讲讲两个工具的使用方法和对比效果。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南

请选择以下任一种方式输入命令安装依赖

  1. Windows 环境 打开 Cmd (开始-运行-CMD)。
  2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
  3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

(选择一)安装 cnocr:

pip install cnocr

看到 Successfully installed xxx 则说明安装成功。

如果你只想对图片中的中文进行识别,那么 cnocr 是一个不错的选择,你只需要安装 cnocr 包即可。

但如果你想试试其他语言的OCR识别,Tesseract 是更好的选择。

(选择二)安装 pytesseract:

首先,无论是Windows还是macOS,你都需要安装 pytesseract:

pip install pytesseract

其次,还需要安装Tesseract.

(macOS) Tesseract 在macOS下可以使用brew安装:

brew install tesseract

非常方便,一条命令即可完成安装。

(Windows )**** 安装Tesseract

需要先下载安装tesseract的程序,然后下载中文简体字预训练好的模型包(尽管本教程不会用tesseract,但还是给大家提供了)。

下载完成后,将 tesseract-ocr-setup-4.00.00dev.exe 安装到 Tesseract-OCR 指定目录下,复制该目录路径增加到Path中:

图片

并将训练好的模型文件 chi_sim.traineddata 放入该目录中,这样安装就完成了。

2.cnocr 识别图片的中文

cnocr 主要针对的是排版简单的印刷体文字图片,如截图图片,扫描件等。目前内置的文字检测和分行模块无法处理复杂的文字排版定位。

尽管它分别提供了单行识别函数和多行识别函数,但在本人实测下,单行识别函数的效果非常糟糕,或者说要求的条件十分苛刻,基本上连截图的文字都识别不出来。

不过多行识别函数还不错,使用该函数识别的代码如下:

from cnocr import CnOcr
ocr = CnOcr()
res = ocr.ocr('test.png')
print("Predicted Chars:", res)

用于识别这个图片里的文字:

图片

效果如下:

图片

如果不是很吹毛求疵,这样的效果已经很不错了。

3.pytesseract 识别图片的英文

如果你的OCR目的不是中文而是英文,是需要别的模型的。这里给大家分享Tesseract-OCR,它是一款由HP实验室开发,由Google维护的开源OCR引擎。

Tesseract-OCR 可扩展性很强,你可以基于它训练属于自己的OCR模型。

现在给大家看看它分类英文的效果,代码如下:

import pytesseract
from PIL import Image

image = Image.open('test.png')
code = pytesseract.image_to_string(image, lang='eng')
print(code)

识别的图片:

图片

效果如下:

图片

Tesseract 识别英文的效果真的很不错,中文效果就比较一般了。

如果你想试试Tesseract识别中文,只需要将代码中的eng改为chi_sim即可,不过相信我,效果不忍直视。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编辑器
    +关注

    关注

    1

    文章

    800

    浏览量

    31108
  • 数据分析
    +关注

    关注

    2

    文章

    1427

    浏览量

    34006
  • OCR
    OCR
    +关注

    关注

    0

    文章

    144

    浏览量

    16323
收藏 人收藏

    评论

    相关推荐

    OCR文字距离太近应该如何处理?

    ;最近需要做一个OCR文字识别自动测试,之前基本没有接触过图像处理的相关概念,对于纯数学上的算法目前也只是大致在看。 我需要识别
    发表于 05-04 15:07

    说说利用vision assitant实现数字的自动识别

    最近一周无聊试下vision assitant里面的OCR功能,因为之前做的一个机械零件编号检测需要识别上面的数字。简单介绍一下如何做到自动识别。1.查找范例OCR,里面有个
    发表于 03-18 10:39

    [求助] 关于OCR识别后文字定位的问题

    你好,我最近在用NI视觉助手做这么一个工作,自动识别一个字符并计算中心点到某一条已知线段的距离(即求点到直线的距离),我想请教一下,在OCR识别出字符后,给出的结果为:匹配分数,红色框到绿色框左边
    发表于 06-20 22:28

    图片文字转换成word真的只需要这四步

    了方法,就和添加文字一样简单了。 这里向大家推荐一款捷速OCR文字识别软件。这是一款识别效果十分好的文字
    发表于 07-26 10:40

    首发 | 告别手动录入,开放平台OCR上线印刷文字识别

    识别中文、英文、中英文混合的文字内容的识别。在中文人工智能助手咪咕灵犀的翻译功能模块,接入讯飞开放平台的OCR与翻译能力,提供图片中文字
    发表于 05-17 15:18

    什么是OCR

    什么是OCR OCR的英文全称: OCR是英文Optical Character Recognition的缩写,意思是光学字符识别,也可简单地称为
    发表于 04-10 12:55 6678次阅读

    TH-OCR文字识别系统介绍

    TH-OCR文字识别系统的工作原理为通过扫描仪或数码相机等光学输入设备获取纸张上的文字图片信息,OCR
    发表于 12-27 16:04 2119次阅读

    基于FPGA的OCR文字识别技术的深度解析

    识别整体性能为GPU P4 130%,处理延时仅为P4的1/10,CPU的1/30。 1.文字识别技术- OCR OCR技术,通俗来讲就是从
    发表于 01-26 12:19 3983次阅读

    如何在电脑中对图片文字进行局部识别

    ?    步骤一、图片文字局部识别需要使用到工具,这时候你可以打开电脑中的浏览器,搜索迅捷办公找到迅捷OCR文字
    发表于 11-13 14:07 577次阅读

    怎样简单识别图片文字转换到Word

      工作中我们经常会处理到各种各样的图片文件,有时候还需要将图片文件上的信息整理到Word一类的文档中,这样编辑起来就很方便,那怎样简单识别图片文字
    发表于 03-27 13:50 848次阅读

    OCR文字识别视觉检测系统应用程序免费下载

    本文档的主要内容详细介绍的是OCR文字识别视觉检测系统应用程序免费下载。
    发表于 05-28 17:31 25次下载

    OCR识别技术

    在爬虫对验证码进行破解时,经常需要对图片中的文字内容进行识别,这时就需要用到OCR技术了,那么 OCR
    的头像 发表于 03-12 09:07 4761次阅读

    浅析HarmonyOS基于AI的通用文字识别技术

    在资讯大爆炸的时代,我们经常面临文件、图片找不到的情况,HarmonyOS基于AI的通用文字识别技术,可以有效帮助我们解决这些难题。 基于AI的通用文字
    的头像 发表于 08-20 10:42 3126次阅读

    图片文字识别:揭开数字世界的神秘面纱

    随着数字化时代的到来,我们生活中的大部分数据都以图片的形式存在。然而,这些图片中蕴含的信息往往比文字更丰富,如何从这些图片中提取有价值的信息,是数字世界中一个十分重要的问题。这时,
    的头像 发表于 05-11 18:20 581次阅读

    光学识别字符是自动识别技术吗

    光学识别字符(Optical Character Recognition,简称OCR)是一种自动识别技术,它能够将各种类型文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的
    的头像 发表于 09-10 15:43 371次阅读