转:python图像处理之二值去噪


我们先来看看一张简单的验证码,这张也是我一直在使用的一个例子(懒得找。。。)

下面我使用的python-image库简称PIL库,下面一个算法由一个网友提供:

from PIL import Image
img = Image.open('tmp.jpg') # 读入图片
img = img.convert("RGBA")
pixdata = img.load()
#二值化
for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        if pixdata[x, y][0] < 90:
            pixdata[x, y] = (0, 0, 0, 255)
for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        if pixdata[x, y][1] < 136:
            pixdata[x, y] = (0, 0, 0, 255)
for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        if pixdata[x, y][2] > 0:
            pixdata[x, y] = (255, 255, 255, 255)
img.save("input-black.gif", "GIF")
#放大图像 方便识别
im_orig = Image.open('input-black.gif')
big = im_orig.resize((1000, 500), Image.NEAREST)

处理后的图片为

效果还不错

来源地址:http://blog.feshine.net/technology/1164.html

Archives