我想把这张图片转换成文字。图像相当小,但可读性很强(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)
设置页面分段模式(psm)可能会有所帮助。在
要获得所有可用的psm,请在终端中输入
tesseract help-psm
。在然后根据您的需要确定psm。假设您要将图像视为单个文本行,在这种情况下,您的ImgToString变成:
希望这对你有帮助。在
您可以在代码中执行几个预处理步骤。在
1)使用}。您可以检查其他几个设置。在
from PIL import Image
和{2)一个稍微先进的方法:使用CNN。您可以使用一些预先培训的cnn。在这里您可以找到更详细的信息:https://www.cs.princeton.edu/courses/archive/fall00/cs426/lectures/sampling/sampling.pdf
畅通节能法
相关问题 更多 >
编程相关推荐