【发布时间】:2015-12-10 18:03:11
【问题描述】:
我有以下号码:
我正在使用 this 问题中记录的 tesseract。
我得到的结果是“\n”,而不是预期的 7000。
过去有没有人在尝试解析数字时遇到过这个问题?
我尝试了以下方法:
>>> image = Image.open("C:/temp/download.png")
>>> image = image.convert('RGB')
>>> image = image.filter(ImageFilter.BLUR)
>>> print image_to_string(image)
>>>image.save("C:/temp/dl1.png")
这给了我
朝着正确方向迈出的一步如下:
from PIL import ImageFilter
import sys
from PIL import Image
import PIL.ImageOps
import pytesseract
import time
image=Image.open("C:/temp/download.png")
image.load()
background = Image.new("RGB", image.size, (255, 255, 255))
background.paste(image, mask=image.split()[3]) # 3 is the alpha channel
background.save('C:/temp/foo.jpg', 'JPEG', quality=80)
img =Image.open('C:/temp/foo.jpg')
img.load()
print img
print '-------------------'
i = pytesseract.image_to_string(img)
print i
但现在我是here。
【问题讨论】:
-
也许尝试预处理图像,例如模糊?
-
@Ryan 模糊它的目的是什么?
-
平滑图像。您问题中图像的边缘看起来像“像素”,这可能会影响 ocr 性能。 docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/…
-
@Ryan 见上面的 cmets。