2

我有一个简单的验证码,我想识别图片。图片是这样的: 在此处输入图像描述

我想使用正方体。 http://code.google.com/p/tesseract-ocr/

但是tesseract只能用在清晰的图片上。

所以我应该预处理图片。

预处理代码是:

im = Image.open('test.png')
# text = image_to_string(im)
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(4)
img = img.convert("RGBA")
width,height = im.size
# pixdata = img.load()
for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        if im.getpixel((x,y)) != (0,0,0):
            im.putpixel((x,y),(255,255,255) )

for y in xrange(img.size[1]):
    for x in xrange(img.size[0]):
        if y<2 or y>(img.size[1]-3):
            continue
        if im.getpixel((x, y))[0]==255 and im.getpixel((x, y+2))[0]==0 and im.getpixel((x, y-1))[0]==0:
            im.putpixel((x, y),(0,0,0))
     #    else:
     #      continue
list(im.getdata())
im.show()

在这个过程之后,图片是这样的: 在此处输入图像描述

所以我失败了。谁能给我一些提示?如果线条是像素宽度,我知道如何删除线条,但这里的线条不一致。

4

0 回答 0