编程:Python实现图片识别
OCR技术是光学字符识别的缩写(Optical Character Recognition),是通过扫描等光学输入方式将各种票据、报刊、书籍、文稿及其它印刷品的文字转化为图像信息,再利用文字识别技术将图像信息转化为可以使用的计算机输入技术。可应用于银行票据、大量文字资料、档案卷宗、文案的录入和处理领域。(以上信息来源于百度百科OCR技术)
前几天刚好接到公司两个相关需求需求,一个是资产管理,由于信息化管理的需求,需要识别我们的物料标签;另一个是我们的会员系统,通过图片给的识别码到系统中查找是否存在相应红包、会员信息,从而避免黄牛扰乱我们的红包、会员系统,以前的做法是购买一个外部公司开发的接口(据说是1000元10万次)。基于公司的业务需求,同时也为了实践用技术解决业务上的问题的态度,把实际开发中遇到的问题记录下来,供读者们少走弯路。
一、环境准备
- 首先我们的操作环境是Windows操作系统(Linux系统可以通过libtesseract方式访问),我们采用的OCR识别软件是Tesseract-OCR,下载并安装Tesseract-OCR软件,安装完成之后需要配置环境变量,配置完成之后通过CMD命令行验证是否配置成功,执行
tesseract -v
命令查看相应版本,下面是一个CMD控制台下的识别实例。
- 配置中文语言包
默认情况下Tesseract-OCR是不能识别中文的,需要加载相应的中文语言包,简体中文语言包叫chi_sim.traineddata下载下来之后需要放置到${TESSERACT_HOME}/tessdata目录下,同时把语言包目录路径配置到环境变量当中,新增变量名称为“TESSDATA_PREFIX”。
至此前期的环境准备工作已经完成,读者可以通过CMD命令行的模式使用OCR的基本功能了,接下来是通过Python语言集成进来,毕竟手工操作的效率和扩展性不如程序化实现。
二、Python实现
- 安装依赖包
接下来我们主要实现Python与Tesseract-OCR交互实现程序化图片识别功能。首先我们需要安装Python 图片依赖包,本文中Python涉及到的依赖包主要有两个,一个是PIL(Python Imaging Library),另外一个就是与Tesseract-OCR交互的依赖包pytesseract,通过pip install package_name
安装相应的包。
- Python项目
编写相应代码获取图片字符,首先是加载依赖包,读取图片,最终把从图片上读取出的字符写入一个文件保存起来,具体代码如下:
最后的效果如下:
问题及解决:
- 读取中文字符的时候有异常输出,如下
Python程序不能对中文进行编码,执行程序前,需要配置中文的环境,如下:
引用
- Tesseract-OCR项目
- tesseract 提升识别质量
- Python图像处理之图片文字识别(OCR)
- 用python做一个图片验证码
- Linux——完全安装Tesseract环境
- Python项目Github源代码
编程:Python实现图片识别相关推荐
- python编程图片大全_Python编程实现的图片识别功能示例
本文实例讲述了Python编程实现的图片识别功能.分享给大家供大家参考,具体如下: 1. 安装PIL,官方没有WIN64位,Pillow替代 pip install Pillow-2.7.0-cp27 ...
- python智能图片识别系统(图片切割、图片识别、区别标识)
目录 技术介绍 运行效果 关键代码 写在最后 技术介绍 你好! python flask图片识别系统使用到的技术有:图片背景切割.图片格式转换(pdf转png).图片模板匹配.图片区别标识. 运行效果 ...
- Python实现图片识别加翻译,高薪必备技能
Python使用百度AI接口实现图片识别加翻译 python python诞生30周年 encoding:utf-8 import requests import base64 from PIL im ...
- python简单图片识别_用Python进行简单的图片识别(1)
起因是这样的,我想买一个定焦镜头,但也不是必需品,可以长期观望购买.最初的想法是,写个程序,每天爬一下各大电商网站的价格,或者直接爬etao把该镜头的价格记录下来,突然有一个惊爆的低价,就发邮件通知. ...
- Python实现图片识别加翻译
Python使用百度AI接口实现图片识别加翻译 python诞生30周年 # encoding:utf-8import requests import base64 from PIL import I ...
- Python之图片识别
今天我们来实现用Python来进行图片的文字提取. 技术原理:通过借助ORC和Tesseract工具来实现 文字识别是ORC的一部分内容,ORC的意思是光学字符识别,通俗讲就是文字识别.Tessera ...
- Python批量图片识别并翻译——我用python给女朋友翻译化妆品标签
周末福利:文末赠书活动 最近小编遇到一个生存问题,女朋友让我给她翻译英文化妆品标签.美其名曰:"程序猿每天英语开发,英文一定很好吧,来帮我翻译翻译化妆品成分","来,帮我 ...
- python视频图片识别算法_python利用Opencv进行人脸识别(视频流+图片)
首先:需要在在自己本地安装opencv具体步骤可以问度娘 如果从事于开发中的话建议用第三方的人脸识别(推荐阿里) 1.视频流中进行人脸识别 # -*- coding: utf-8 -*- import ...
- python相似图片识别_Python+Opencv识别两张相似图片
Python+Opencv识别两张相似图片 在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话 ...
- python 百度识图_用python做图片识别(调用百度API)
[Python] 纯文本查看 复制代码""" 读取图片 """ def get_file_content(filePath): with o ...
最新文章
- #招聘# C++高级攻城师一枚
- 5G LAN — Overview
- Linux下关机、重启
- JSTL笔记—c标签
- jQuery实现星星评分功能
- Android(Java):jni源代码
- 电饼锅的样式图片价格_进口珐琅铸铁锅专场,精致小厨娘们来康康!
- java入职华为,通过这9个Java面试题,就可以入职华为啦
- Spring Security 示例教程
- android listview 自适应列宽_Android 开发技术周报 Issue#272
- 碎裂效果尝试(clip-path篇)
- 年轻人逃离推荐算法围城:老年版App,用着真香
- 代码实现WordPress 在文章内容的段落中插入广告google adsense
- 小程序 ---- (setData关于赋值对象属性的问题)
- 小学生python编程教程-python 小学生教程|怎么让一个小学生学会Python?
- HDU 4939 Stupid Tower Defense 简单DP
- 基本的LC串联和并联振荡电路分析
- 2022微信企业邮箱登录入口介绍,企业微信企业邮箱怎么开通注册?
- js返回浏览器的顶部
- 设计模式-合成复用原则-》面向对象设计原则