http://robertgawron.blogspot.hk/2010/11/almost-all-sites-use-images-with-text.html

图片的识别主要有,去色,减噪,去线,分割,二值化,提取特征码

这里比较方便的是使用tesseract

1,准备库

apt-get install python-imaging

pip install Pillow

apt-get install tesseract-ocr

apt-get -f iinstall

wget https://python-tesseract.googlecode.com/files/python-tesseract_0.8-1.5_i386.deb

dpkg -i python-tesseract_0.8-1.5_i386.deb

2,图片处理

这里用到Pillow代替PIL,import改成

from PIL import Image,ImageFilter

用法 XXX.py XX.jpg 100

import sys

import Image

import ImageFilter

def prepare_image(img):

"""Transform image to greyscale and blur it"""

img = img.filter(ImageFilter.SMOOTH_MORE)

img = img.filter(ImageFilter.SMOOTH_MORE)

if 'L' != img.mode:

img = img.convert('L')

return img

def remove_noise(img, pass_factor):

for column in range(img.size[0]):

for line in range(img.size[1]):

value = remove_noise_by_pixel(img, column, line, pass_factor)

img.putpixel((column, line), value)

return img

def remove_noise_by_pixel(img, column, line, pass_factor):

if img.getpixel((column, line)) < pass_factor:

return (0)

return (255)

if __name__=="__main__":

input_image = sys.argv[1]

output_image = 'out_' + input_image

pass_factor = int(sys.argv[2])

img = Image.open(input_image)

img = prepare_image(img)

img = remove_noise(img, pass_factor)

img.save(output_image)

3,识别

这里用到开源OCR库tesseract

开源的软件免费,但相对的说明文件就不足,只有自己查代码

因为验证码一般只有一行,这个

api.SetPageSegMode(tesseract.PSM_AUTO)

改成

api.SetPageSegMode(7)

import tesseract

api = tesseract.TessBaseAPI()

api.Init(".","eng",tesseract.OEM_DEFAULT)

api.SetVariable("tessedit_char_whitelist", "0123456789abcdefghijklmnopqrstuvwxyz")

api.SetPageSegMode(tesseract.PSM_AUTO)

mImgFile = "eurotext.jpg"

mBuffer=open(mImgFile,"rb").read()

result = tesseract.ProcessPagesBuffer(mBuffer,len(mBuffer),api)

print "result(ProcessPagesBuffer)=",result

python图片识别验证码软件_python识别图片验证码相关推荐

  1. python图片提取文字软件_python识别图片文字_图片文字识别软件,快速提取文字...

    图文识别是一种可以使你转换不同文档的技术,比如将扫描纸质文档,PDF文件或者数码相机拍摄的图片转换成可以编辑的文档. 假设你获得了一个纸质文件-比如,杂志.彩页或者你合作伙伴发给你的PDF合同.很明显 ...

  2. python识别图片上的文字_python识别图片文字

    因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...

  3. python截图识别文字软件_Python技术: 截图文字识别工具

    #01 截图文字识别工具 有时候在海报上面,图片上面,或者PDF文档中,经常出现一些唯美的文字.这个时候想要复制下来才发现不能复制.因为有的是图片,有的是PDF. 可以使用Python制作一个小工具, ...

  4. python写图片爬取软件_python制作微博图片爬取工具

    有小半个月没有发博客了,因为一直在研究python的GUI,买了一本书学习了一些基础,用我所学做了我的第一款GUI--微博图片爬取工具.本软件源代码已经放在了博客中,另外软件已经打包好上传到网盘中以供 ...

  5. python识别汉字笔画_Python识别图片中的文字

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

  6. python批量识别图片中文字_Python识别图片中的文字

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

  7. python区域找图命令_python读取图片任意范围区域

    使用python进行图片处理,现在需要读出图片的任意一块区域,并将其转化为一维数组,方便后续卷积操作的使用. 下面使用两种方法进行处理: convert 函数 from PIL import Imag ...

  8. python将图片转为字符画_Python将图片转换为字符画的方法

    最近在学习python,看到网上用python将图片转换成字符画便来学习一下 题目意思是,程序读入一个图片,以txt格式输出图片对应的字符画,如图所示: 以下是python代码: # coding:u ...

  9. python三维矩阵出图_python读取图片的方式,以及将图片以三维数组的形式输出方法...

    python 三维npy数组如何画成三维图片 画成三维图片? 你要是想要看空间分布的话画散点图就可以啊,用matplotlib 网页链接 要是那种各种弯曲的面,也是matplotlib 网页链接 再就 ...

最新文章

  1. 图神经网络时代的深度聚类
  2. mysql 浮点数定义2_MySQL学习笔记(二):数据类型
  3. Puppet基于Master/Agent模式实现LNMP平台部署
  4. 不同权限访问详细细节
  5. C++ 多态之纯虚函数和抽象类01
  6. linux命令kill百科,Linux 命令 kill
  7. navicat如何导入sql文件和导出sql文件
  8. Listary的使用
  9. 八数码问题c语言,八数码问题的可解性
  10. Python之GUI编程 实现界面化的词云图生成器.exe
  11. 物联网期末大作业—睡眠质量检测系统(精修版)
  12. 京东智能客服言犀启发式问答技术探秘
  13. 嘀嗒APP打车体验记
  14. 安视宝动态微表情人脸识别技术
  15. Docker容器之harbor私有仓库部署与管理
  16. [Linux From Scratch 作一个自己的Linux操作系统发行版本]一、环境准备
  17. android 手绘地图,发现一款新App:「Pott」能一键制作你的手绘足迹地图,爱旅行的你别错过...
  18. 自定义协议推送的设计
  19. 在金融业务中跨行清算系统的实现过程
  20. MTK5G-MT6853(天玑720)

热门文章

  1. Ajax — 第二天
  2. 《SpringMVC从入门到放肆》一、概述
  3. 逆向project实战--Acid burn
  4. webstorm卡顿问题
  5. Java 冒泡排序的实现
  6. 2016,请不要在公司混日子!
  7. LINQ to SQL学习的几个问题
  8. JavaScript 面向对象的程序设计1
  9. VUE $SET源码
  10. bootstrap --- 表单