python图片识别验证码软件_python识别图片验证码
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识别图片验证码相关推荐
- python图片提取文字软件_python识别图片文字_图片文字识别软件,快速提取文字...
图文识别是一种可以使你转换不同文档的技术,比如将扫描纸质文档,PDF文件或者数码相机拍摄的图片转换成可以编辑的文档. 假设你获得了一个纸质文件-比如,杂志.彩页或者你合作伙伴发给你的PDF合同.很明显 ...
- python识别图片上的文字_python识别图片文字
因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...
- python截图识别文字软件_Python技术: 截图文字识别工具
#01 截图文字识别工具 有时候在海报上面,图片上面,或者PDF文档中,经常出现一些唯美的文字.这个时候想要复制下来才发现不能复制.因为有的是图片,有的是PDF. 可以使用Python制作一个小工具, ...
- python写图片爬取软件_python制作微博图片爬取工具
有小半个月没有发博客了,因为一直在研究python的GUI,买了一本书学习了一些基础,用我所学做了我的第一款GUI--微博图片爬取工具.本软件源代码已经放在了博客中,另外软件已经打包好上传到网盘中以供 ...
- python识别汉字笔画_Python识别图片中的文字
Python识别图片中的文字 一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截 ...
- python批量识别图片中文字_Python识别图片中的文字
一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...
- python区域找图命令_python读取图片任意范围区域
使用python进行图片处理,现在需要读出图片的任意一块区域,并将其转化为一维数组,方便后续卷积操作的使用. 下面使用两种方法进行处理: convert 函数 from PIL import Imag ...
- python将图片转为字符画_Python将图片转换为字符画的方法
最近在学习python,看到网上用python将图片转换成字符画便来学习一下 题目意思是,程序读入一个图片,以txt格式输出图片对应的字符画,如图所示: 以下是python代码: # coding:u ...
- python三维矩阵出图_python读取图片的方式,以及将图片以三维数组的形式输出方法...
python 三维npy数组如何画成三维图片 画成三维图片? 你要是想要看空间分布的话画散点图就可以啊,用matplotlib 网页链接 要是那种各种弯曲的面,也是matplotlib 网页链接 再就 ...
最新文章
- 图神经网络时代的深度聚类
- mysql 浮点数定义2_MySQL学习笔记(二):数据类型
- Puppet基于Master/Agent模式实现LNMP平台部署
- 不同权限访问详细细节
- C++ 多态之纯虚函数和抽象类01
- linux命令kill百科,Linux 命令 kill
- navicat如何导入sql文件和导出sql文件
- Listary的使用
- 八数码问题c语言,八数码问题的可解性
- Python之GUI编程 实现界面化的词云图生成器.exe
- 物联网期末大作业—睡眠质量检测系统(精修版)
- 京东智能客服言犀启发式问答技术探秘
- 嘀嗒APP打车体验记
- 安视宝动态微表情人脸识别技术
- Docker容器之harbor私有仓库部署与管理
- [Linux From Scratch 作一个自己的Linux操作系统发行版本]一、环境准备
- android 手绘地图,发现一款新App:「Pott」能一键制作你的手绘足迹地图,爱旅行的你别错过...
- 自定义协议推送的设计
- 在金融业务中跨行清算系统的实现过程
- MTK5G-MT6853(天玑720)