如何增加pytesseract图像识别的可能性

时间:2017-10-24 02:04:27

标签: python ocr python-tesseract pytesser

我试图将此图像列表转换为文本。图像相当小但非常易读(15x160,只有灰色文本和白色背景)我似乎无法通过pytesseract正确读取图像。我尝试用.resize()来增加大小,但它似乎没有做太多的事情。这是我的一些代码。我可以添加任何新的东西以增加我的机会?就像我说的那样,我很惊讶pytesseract在这里让我失望,与我看来它捕获的一些东西相比它很小但是超级可读。

for dImg in range(0, len(imgList)):
    url = imgList[dImg]
    local = "img" + str(dImg) + ".jpg"
    urllib.request.urlretrieve(url, local)
    imgOpen = Image.open(local)
    imgOpen.resize((500,500))
    imgToString = pytesseract.image_to_string(imgOpen)
    newEmail.append(imgToString)

2 个答案:

答案 0 :(得分:0)

设置页面分割模式(psm)可能会有所帮助。

要获得所有可用的psm,请在终端中输入imgToString = pytesseract.image_to_string(imgOpen, config = '--psm 7')

然后根据您的需要确定psm。假设您希望将图像视为单个文本行,在这种情况下,您的ImgToString将变为:

{{1}}

希望这会对你有所帮助。

答案 1 :(得分:0)

您可以在代码中执行几个预处理步骤。

1)使用from PIL import Image并使用your_img.convert('L')。您还可以检查其他几种设置。

2)一种高级方法:使用CNN。您可以使用几种预先训练的CNN。在这里,您可以找到一些更详细的信息:https://www.cs.princeton.edu/courses/archive/fall00/cs426/lectures/sampling/sampling.pdf

tifi