今天我们来实现用Python来进行图片的文字提取。

技术原理:通过借助ORC和Tesseract工具来实现

文字识别是ORC的一部分内容,ORC的意思是光学字符识别,通俗讲就是文字识别。Tesseract是一个用于文字识别的工具,我们结合Python使用可以很快的实现文字识别。

实现过程第一步:先安装和配置Tesseract

并且要将Tesseract-OCR的安装目录配置到系统path变量当中,如下图所示,这样就完成了其配置。这里我的安装路径是C:\Program Files\Tesseract-OCR

第二步:接下来是下载两个需要的模块pytesseract和pillow

 对于一些图像的识别,我们需要使用pytesseract及相应的Tesseract引擎,它是开源的OCR引擎。pytesseract用于文字识别。Pillow在这里则是用于图片读取的

只要进入自己之前安装的虚拟环境,再输入pip install pytesseract 和pip install pillow即可。

有一点很重要就是需要将pytesseract.py中的tesseract_cmd改为安装的地址如下图

第三步:接下来我们就可以进行识别了。

输入代码如下:

英文识别:

 先打开图片在进行识别

image_to_string:是指将图像上的Tesseract- OCR运行结果返回到字符串

原图如下:                

  运行结果:

识别数字:

原图如下:                                

  运行结果:

但是现在还不能进行中文的识别,因为tesseract-ocr默认不支持中文识别,如果想要识别中文或者其它语言需要下载相应的语言包。

首先到网站 https://tesseract-ocr.github.io/tessdoc/Data-Files中下载中文包

下载完成后我们需要放到Tesseract的路径下的tessdata目录下,如图:

这样就可以进行中文的识别:

代码如下:

记得要将语言改成中文的:lang=chi_sim

原图如下:                      

  运行结果:

 

目前这种OCR技术的应用领域主要分为八块:

①证件识别:主要识别证件信息,目前有证件采集仪、护照阅读器、门禁考勤机、人行通道闸机、人证一体扫描仪、移动端证件识别SDK等产品中应用该项技术

②银行卡识别:主要识别银行卡卡号,用于移动支付绑卡,提升APP用户体验。

③车牌识别:主要识别车牌号码、车牌颜色、车牌类型、车标、车身颜色等车辆特征信息,目前有PC端车牌识别SDK、移动端车牌识别SDK、车牌识别抓拍相机、DSP嵌入式车牌识别、车型识别、车位检测等产品应用了该项技术

④名片识别

⑤营业执照识别:主要识别营业执照信息(统一社会信用代码、公司名称、二维码等)

⑥汽车VIN码识别:主要识别车架号(汽车VIN码),用于汽车管理、汽车服务、二手车交易、租车等领域(互联网)

⑦票据类OCR识别

⑧文档文字OCR识别:主要识别文档文字,用于图书馆,报社等针对图书、报纸、杂志等文本类,需要把这些纸质文档进行电子化的领域

像我们生活中用的学习搜题软件(小猿搜题)都会用到文字识别的技术,通过拍照在进行文字提取,从而找到答案,如下图所示:


相关的视频在B站上,链接:图片识别_哔哩哔哩_bilibili

图片识别

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐