Python3,自动识别图片文字,这个库,我爱了。

举报
Carl_奕然 发表于 2023/02/27 09:22:40 2023/02/27
【摘要】 不知道OCR的,不如看看这篇。

1、引言


小鱼:小屌丝,你在干啥呢?
小屌丝:我女神给我的任务啊,把图片上的文字都给写下来。
小鱼:这图片上的文字,可不少啊,你都是手敲的??
小屌丝:可不,不然还有啥法子?

小鱼:我敬佩你是一条汉子。
小屌丝:鱼哥,难道你有什么好的法子?
小鱼:嗯,突然想到的, OCR 。
小屌丝:那你还不赶紧救救我,
小鱼:唉~ ~ 好吧…

图像识别,这里就要提到OCR了,
但是提到OCR,又不得不提到的两个库:

  • cnocr :识别图片的汉字;
  • Pytesseract:识别图片的英文


分别对图片的文字的中文和英文进行识别的。
话不多说,我们直接代码示例演示。

2、Cnocr


2.1 安装


老规矩,直接pip 安装

pip install cnocr



其它安装方式,直接看这两篇:

提示一下,
cnocr下的torch 有161.8MB,
所以下载的话,最好在网速快或者国内镜像网站进行下载,否则就会下载失败。


2.2 代码示例

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-10-16
# @Author : Carl_DJ
'''
实现功能:
    识别图片中的汉字
'''
from cnocr import CnOcr

#图片名称
file_name = './data/cn_name.png'
ocr = CnOcr()
result = ocr.ocr(file_name)
print(f"Predicted Chars:{result}")


3、Pytesseract


3.1 安装


1、pytesseract,
老规矩,直接pip 安装

pip install pytesseract


2、Tesseract
Windows版本,需要手动安装,下载地址如下:

下载完成后,手动添加路径到到环境变量(path)里面即可。


3.1 代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-10-16
# @Author : Carl_DJ
'''
实现功能:
	识别图片中的英文
'''
import pytesseract
from PIL import Image

#图片名称
file_name = './data/en_name.png'
#打开图片
image = Image.open(file_name)

result = pytesseract.image_to_string(image, lang='eng')
print(f'识别结果:{result}')



4、总结


看到这里,今天的分享就到这里了。
关于识别图片中的文字,这里例举了OCR中的 cnocr 与pytesseract,
其实代码很简单,只是安装过程中需要一点点的耐心。

我是小鱼

  • CSDN 博客专家;
  • 阿里云 专家博主;
  • 51CTO博客专家;
  • 51认证讲师;
  • 金牌面试官;

关注我,带你学习更多更有趣的Python知识。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。