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图像识别相关推荐

  1. python图片识别-Python+Opencv识别两张相似图片

    在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能就在本文简 ...

  2. python图片识别验证码软件_基于python图片识别工具(图片识别,车牌,PDF,验证码)...

    先上图  不多说. 对于一般的用户来说识别率还是能达到百分之90以上. 已经打包成exe文件.windows用户可以直接使用.要软件的加我QQ python代码: # -*- coding: UTF- ...

  3. python图片-利用python进行识别相似图片(一)

    文章简介 在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话题作为计算机科学的一个分支,不可能 ...

  4. 图片识别 python 神经网络,神经网络提取图片特征

    Python如何图像识别? Python图片文本识别使用的工具是PIL和pytesser. 因为他们使用到很多的python库文件,为了避免一个个工具的安装,建议使用pythonxypytesser是 ...

  5. python 图片识别_python识别图片文字

    滑稽研究所 python识别图片文字 哈喽,大家好呀,我是滑稽君.大家在写论文时可能经常碰到无法复制文字的文章.明明找到了需要的内容却无法直接复制使用,这让我们十分苦恼.那么本期滑稽君就告诉大家如何使 ...

  6. python图片识别训练汽车_python实现图片识别汽车功能

    本文实例为大家分享了python实现图片识别汽车的具体代码,供大家参考,具体内容如下 准备工作 1.登陆 2.安装 pip install baidu-aip 模块 原理读取图片的二进制信息,调用百度 ...

  7. python 图片识别_Python—识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  8. Python图片识别——人工智能篇

    目录  一.安装pytesseract和PIL PIL全称:Python Imaging Library,python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 由于P ...

  9. python图片识别之tesseract

    经过两个下午的尝试,终于搞出来了:特记录下来备忘: 首先来看python代码识别图片,这一段较为简单: from PIL import Image # import tesserocr # 完全可以不 ...

最新文章

  1. 高性能javascript 文件加载阻塞
  2. SQL Server 查询基础
  3. html5 去掉 li的样式,css li 去掉点的样式写法
  4. 安全体系结构与七个设计原则
  5. git遇到的问题之“Please make sure you have the correct access rights and the repository exists.”...
  6. when and where is getControllerName called
  7. 程序员应该如何规划自己的人生与书写履历?
  8. Spring Boot flyway的启动时机比较早
  9. 党媒发声IT圈里的35岁现象
  10. 不要争了!技术选择没那么重要
  11. 【HCIE安全】双机热备-主备备份
  12. 【涨知识】你家用的是A级锁还是B级锁,什么锁最安全?
  13. 思岚S2激光雷达5-雷达数据实时保存
  14. 德勤咨询:2021年度企业人工智能应用现状报告(第4版)
  15. C语言学习笔记---字符处理函数getc()和getchar()函数
  16. 程序员微信名昵称_2020最火的微信名有哪些 好听的微信名字推荐
  17. 数据结构之树与二叉树
  18. CTFshow——MISC入门
  19. 【前端学习笔记 CSS系列二十二】justify
  20. 欧姆龙机器视觉软件系统FJ FZ FH系列仿真

热门文章

  1. 手写汉字笔迹识别模型汇总
  2. 用实例说明Spark stage划分原理
  3. Thread Per Message Pattern
  4. Python入门 io篇
  5. 315 · Istio1.1 功能预告,真的假不了
  6. time Machine备份时间间隔
  7. video/audio在ios/android上播放兼容
  8. Altium Designer /DXP无网络铺铜:
  9. 【读书笔记】iOS-ARC-Xcode检测循环引用
  10. jQuery三级下拉菜单