私は単純なキャプチャを持っています。画像を認識したいです。写真は次のようなものです:
テッセラクトを使いたいです。 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()
プロセスの後、写真は次のようになります。
だから失敗した。誰かが私にいくつかのヒントを教えてもらえますか? 線がピクセル幅の場合に線を削除する方法は知っていますが、ここの線は一貫していません。