python图形验证码识别

import tesserocr         #Python Imaging Library Python,图像处理类库,提供了通用的图像处理功能
from PIL import Image    #Image对象

image=Image.open('code.jpg')    #新建Image对象,同时引入图片
image=image.convert('L')        #将图片转化为灰度图像(只有黑白),0(黑色),255(白色)
threshold=127                   #指定二值化阈值,这个值越低,颜色越重
table=[]
for i in range(256):
    if i<threshold:
        table.append(0)
    else:
        table.append(1)
image=image.point(table,'1')
result=tesserocr.image_to_text(image)
print(result)

Python-Image 基本的图像处理操作,有需要的朋友可以参考下。
Python 里面最常用的图像操作库是

Image library(PIL),功能上,虽然还不能跟Matlab比较,但是还是比较强大的,废话补多少,写点记录笔记。

1.首先需要导入需要的图像库:

import Image

2.读取一张图片:

im=Image.open(’/home/Picture/test.jpg’)

3.显示一张图片:

im.show()

4.保存图片:

im.save(“save.gif”,“GIF”) #保存图像为gif格式

5.创建新图片:

Image.new(mode,size)

Image.new(mode,size,color)

栗子:newImg = Image.new(“RGBA”,(640,480),(0,255,0))
newImg.save(“newImg.png”,“PNG”)

6.两张图片相加:

Image.blend(img1,img2,alpha) # 这里alpha表示img1和img2的比例参数

7.点操作:

im.point(function) #,这个function接受一个参数,且对图片中的每一个点执行这个函数,其中每个像素都通过给定的表(function)进行映射,该表应包含图像中每个波段的256个值。
比如:out=im.point(lambdai:i*1.5)#对每个点进行50%的加强

8.查看图像信息:
im.format, im.size, im.mode

9.图片裁剪:
box=(100,100,500,500)

#设置要裁剪的区域

region=im.crop(box) #此时,region是一个新的图像对象。

10.图像黏贴(合并)

im.paste(region,box)#粘贴box大小的region到原先的图片对象中。

11.通道分离:
r,g,b=im.split()#分割成三个通道,此时r,g,b分别为三个图像对象。

12.通道合并:
im=Image.merge(“RGB”,(b,g,r))#将b,r两个通道进行翻转。

13.改变图像的大小:
out=img.resize((128,128))#resize成128*128像素大小

14.旋转图像:
out=img.rotate(45) #逆时针旋转45度

有更方便的:
region = region.transpose(Image.ROTATE_180)

15.图像转换:
out = im.transpose(Image.FLIP_LEFT_RIGHT)

#左右对换。

out = im.transpose(Image.FLIP_TOP_BOTTOM)

#上下对换

16.图像类型转换:
im=im.convert(“RGBA”)

17.获取某个像素位置的值:
im.getpixel((4,4))

18.写某个像素位置的值:
img.putpixel((4,4),(255,0,0))

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值