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

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

3天内不再提示

cnocr和tesseract的使用方法和效果

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-11-02 14:37 次阅读

今天尝试了一下cnocr和tesseract,给大家分别讲讲两个模块的使用方法和效果。

1.准备

开始之前,你要确保Pythonpip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda

Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。

当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端运行命令安装依赖模块,多舒服的一件事啊:Python 编程的最好搭档—VSCode 详细指南

在终端输入以下命令安装我们所需要的依赖模块:

pip install cnocr

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

如果你只想使用cnocr,那么只需要安装上述的cnocr包即可。如果你想试试其他语言的OCR识别,Tesseract 是更好的选择。

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

pip install pytesseract

其次,还需要安装Tesseract. Tesseract 在macOS下可以使用brew安装:

brew install tesseract

Windows下安装tesseract则相对复杂。

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

你可以在Python实用宝典公众号后台回复:**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('test2.png')
code = pytesseract.image_to_string(image, lang='eng')
print(code)

图片版代码:

图片

识别的图片:

图片

效果如下:

图片

英文效果真的很不错,不过官方预训练好的中文模型效果就比较一般了。

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

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

    关注

    7

    文章

    2486

    浏览量

    46572
  • 编辑器
    +关注

    关注

    1

    文章

    788

    浏览量

    30276
收藏 人收藏

    评论

    相关推荐

    去耦电容的有效使用方法有哪些

    去耦电容的有效使用方法之一是用多个(而非1个)电容进行去耦。使用多个电容时,使用相同容值的电容时和交织使用不同容值的电容时,效果是不同的。
    发表于 08-02 12:34 294次阅读
    去耦电容的有效<b class='flag-5'>使用方法</b>有哪些

    使用方法

    基本的会就差不多了吧!想不到有其他使用方法
    发表于 09-25 19:17

    linux的tesseract-ocr安装

    1. 在ubuntu下可以自动安装sudo apt-get install tesseract-ocr
    发表于 07-15 06:40

    示波器的使用方法

    示波器的使用方法 1 示波器使用        本节介绍示波器的使用方法。示波器种类、型号很多,功能也不同。
    发表于 01-14 13:06 1.8w次阅读

    Matlab使用方法和程序设计

    Matlab使用方法和程序设计 实验一 Matlab使用方法和程序设计一、
    发表于 10-17 00:18 5181次阅读
    Matlab<b class='flag-5'>使用方法</b>和程序设计

    示波器的使用方法

    数字万用表使用方法和示波器的使用方法详解。
    发表于 03-14 10:38 31次下载

    Altium Designer 9使用方法

    Altium Designer 9使用方法
    发表于 12-20 23:00 0次下载

    基于zed的tesseract移植过程记录

    于是今天就打算把这个软件移植到Zynq上,在PC上之前就已经成功安装了tesseract了,并且利用自带的测试图片试了下,没问题。
    发表于 02-10 18:50 1435次阅读

    xilinx 原语使用方法

    xilinx 原语使用方法
    发表于 10-17 08:57 11次下载
    xilinx 原语<b class='flag-5'>使用方法</b>

    ORCAD PSPICE 使用方法

    ORCAD PSPICE 使用方法
    发表于 10-18 14:52 39次下载
    ORCAD PSPICE <b class='flag-5'>使用方法</b>

    热熔胶枪使用方法视频

    热熔胶枪是装修中常用的一种工具,它主要用在材料涂胶等用途上。热熔胶枪具有出胶效果好、可满足不同生产线的要求、清洗方便的特点,本视频主要详细介绍了热熔胶枪使用方法视频。
    的头像 发表于 11-10 11:02 5.7w次阅读

    示波器的使用方法(三):示波器的使用方法详解

    示波器的使用方法并非很难,重点在于正确使用示波器的使用方法。往期文章中,小编对模拟示波器的使用方法和数字示波器的使用方法均有所介绍。为增进大家对示波器的
    的头像 发表于 12-24 20:37 2489次阅读

    安全光栅,光幕的使用方法

    安全光栅的使用方法
    的头像 发表于 05-16 09:51 681次阅读
    安全光栅,光幕的<b class='flag-5'>使用方法</b>

    关于两个Python开源识别工具的效果

    回复希望出一篇 OCR 相关的文章,今天尝试了一下 cnocrtesseract 两个 Python 开源识别工具的效果,给大家分别讲讲两个工具的使用方法和对比
    的头像 发表于 10-17 11:36 277次阅读
    关于两个Python开源识别工具的<b class='flag-5'>效果</b>

    OCR如何自动识别图片文字

    回复希望出一篇 OCR 相关的文章,今天尝试了一下 cnocrtesseract 两个 Python 开源识别工具的效果,给大家分别讲讲两个工具的使用方法和对比
    的头像 发表于 10-31 16:45 442次阅读
    OCR如何自动识别图片文字