python图片识别-python图像识别
python图像识别一般基础到的就是tesseract了,在爬虫中处理验证码广泛使用。
安装
安装教程网上大都差不多,Windows下确实比较麻烦,涉及到各种路径、环境变量甚至与linux不同的路径分隔符,所以这里的安装是基于Centos7。
1. 依赖安装
yum install -y automake autoconf libtool gcc gcc-c++
2. 安装leptonica
Leptonica主要用于图像处理和图像分析
原则上所有的库文件都是可以直接用yum安装的,如果想要具体的某个版本,可以前往官方源下载对应版本然后按照对应方式编译
wget http://www.leptonica.org/source/leptonica-1.74.4.tar.gz
tar -zxvf leptonica-1.74.4.tar.gz
cd leptonica-1.74.4/
./configure
make && make install
3. 安装tesseract
其他各版本可以在这里下载并自行编译,也提供直接使用的文件。
yum install tesseract
4. 验证安装
tesseract --version
5. 语言包下载
前往tesseract-ocr/tessdata下载相应的语言包,然后将之移动到tessdata目录下,可以用whereis tesseract查看一下具体的目录,我的是/usr/share/tesseract/tessdata/
mv *.traineddata /usr/local/share/tessdata/
6. 查看目前已下载的语言
tesseract --list-langs
使用
# tesseract
Usage:
tesseract --help | --help-psm | --help-oem | --version
tesseract --list-langs [--tessdata-dir PATH]
tesseract --print-parameters [options...] [configfile...]
tesseract imagename|stdin outputbase|stdout [options...] [configfile...]
OCR options:
--tessdata-dir PATH Specify the location of tessdata path.
--user-words PATH Specify the location of user words file.
--user-patterns PATH Specify the location of user patterns file.
-l LANG[+LANG] Specify language(s) used for OCR.
-c VAR=VALUE Set value for config variables.
Multiple -c arguments are allowed.
--psm NUM Specify page segmentation mode.
--oem NUM Specify OCR Engine mode.
NOTE: These options must occur before any configfile.
语法
tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...]
imagename:图片名字
outputbase:指定输出,如果希望直接输出而不是保存到文件,那么就使用 stdout,否则这个参数将会作为保存结果的文件的前缀
-l指定语言文件,默认使用英文
tesseract --print-parameters:查看更多参数信息
使用-c指定单项参数的值或者将配置写入配置文件放在命令最后(支持多个配置文件)
psm 识别图像的方式
0:定向脚本监测(OSD)
1: 使用OSD自动分页
2 :自动分页,但是不使用OSD或OCR(Optical Character Recognition,光学字符识别)
3 :全自动分页,但是没有使用OSD(默认)
4 :假设可变大小的一个文本列。
5 :假设垂直对齐文本的单个统一块。
6 :假设一个统一的文本块。
7 :将图像视为单个文本行。
8 :将图像视为单个词。
9 :将图像视为圆中的单个词。
10 :将图像视为单个字符。
python中使用
Tesseract安装完成后可以很方便的被Python调用,但是需要pillow和pytesseract的支持。
python中转换
image_to_data(image, lang=None, config='', nice=0, output_type=Output.STRING)
image Object,由Tesseract处理的图像的PIL Image/NumPy数组
lang String,Tesseract语言代码字符串
config String,任何其他配置字符串,例如:config='--psm 6'
语言文件可以叠加,用“+”隔开
我们也可以在这里进行tessdata路径的设置,跟在config里面即可
更多配置包括config和psm都和tesseract类似
实例:
流程: 打开图片,配置,转换,可以通过Image的open或者cv2的imread打开图片,之后对图片进行对比度增强,降噪等处理,效果会好一些。
from PIL import Image
import pytesseract
class Languages:
CHS = 'chi_sim'
ENG = 'eng'
def img_to_str(image_path, lang=Languages.ENG):
return pytesseract.image_to_string(Image.open(image_path), lang)
print(img_to_str('pic/numu.png', lang=Languages.ENG))
print(img_to_str('pic/pro.png', lang=Languages.ENG))
image.png
image.png
总结
简单的文本识别效果还是不错的,但是设计到多空行、符号等,识别效果就不是太好了,准确度方面可以通过对字库的训练达到想要的效果,之后对获取到的文本利用诸如re等各种库进行操作,其实应用还蛮广泛的。2. 但是它在验证码方面的话效果还是不错的,验证码的话tesserocr也是比较方面的.
识别中文可能会出现编码错误,这也是识别上的漏洞之一了,网上大佬们所说的改变文本的编码似乎并不能解决问题,所以对长文本图片处理还是不太建议直接转换。
图文处理也可以借鉴一些各平台的API,百度、腾讯、美团都有支持.
python图片识别-python图像识别相关推荐
- python图片识别-Python+Opencv识别两张相似图片
在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...
- python图片识别验证码软件_基于python图片识别工具(图片识别,车牌,PDF,验证码)...
先上图 不多说. 对于一般的用户来说识别率还是能达到百分之90以上. 已经打包成exe文件.windows用户可以直接使用.要软件的加我QQ python代码: # -*- coding: UTF- ...
- python图片-利用python进行识别相似图片(一)
文章简介 在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能 ...
- 图片识别 python 神经网络,神经网络提取图片特征
Python如何图像识别? Python图片文本识别使用的工具是PIL和pytesser. 因为他们使用到很多的python库文件,为了避免一个个工具的安装,建议使用pythonxypytesser是 ...
- python 图片识别_python识别图片文字
滑稽研究所 python识别图片文字 哈喽,大家好呀,我是滑稽君.大家在写论文时可能经常碰到无法复制文字的文章.明明找到了需要的内容却无法直接复制使用,这让我们十分苦恼.那么本期滑稽君就告诉大家如何使 ...
- python图片识别训练汽车_python实现图片识别汽车功能
本文实例为大家分享了python实现图片识别汽车的具体代码,供大家参考,具体内容如下 准备工作 1.登陆 2.安装 pip install baidu-aip 模块 原理读取图片的二进制信息,调用百度 ...
- python 图片识别_Python—识别图片中的文字
一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...
- Python图片识别——人工智能篇
目录 一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于P ...
- python图片识别之tesseract
经过两个下午的尝试,终于搞出来了:特记录下来备忘: 首先来看python代码识别图片,这一段较为简单: from PIL import Image # import tesserocr # 完全可以不 ...
最新文章
- 高性能javascript 文件加载阻塞
- SQL Server 查询基础
- html5 去掉 li的样式,css li 去掉点的样式写法
- 安全体系结构与七个设计原则
- git遇到的问题之“Please make sure you have the correct access rights and the repository exists.”...
- when and where is getControllerName called
- 程序员应该如何规划自己的人生与书写履历?
- Spring Boot flyway的启动时机比较早
- 党媒发声IT圈里的35岁现象
- 不要争了!技术选择没那么重要
- 【HCIE安全】双机热备-主备备份
- 【涨知识】你家用的是A级锁还是B级锁,什么锁最安全?
- 思岚S2激光雷达5-雷达数据实时保存
- 德勤咨询:2021年度企业人工智能应用现状报告(第4版)
- C语言学习笔记---字符处理函数getc()和getchar()函数
- 程序员微信名昵称_2020最火的微信名有哪些 好听的微信名字推荐
- 数据结构之树与二叉树
- CTFshow——MISC入门
- 【前端学习笔记 CSS系列二十二】justify
- 欧姆龙机器视觉软件系统FJ FZ FH系列仿真