2

私は単純なキャプチャを持っています。画像を認識したいです。写真は次のようなものです: ここに画像の説明を入力

テッセラクトを使いたいです。 http://code.google.com/p/tesseract-ocr/

しかし、テセラクトは鮮明な画像でのみ使用できます。

だから私は写真を前処理する必要があります。

前処理コードは次のとおりです。

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