关于将这些图像转换为文本的任何建议?我正在使用 pytesseract,除此之外,它在大多数情况下都能正常工作。理想情况下,我会准确地阅读这些数字。最坏的情况我可以尝试使用 PIL 来确定“/”左侧的数字是否为零。从左边开始,找到第一个白色像素,然后
from PIL import Image
from pytesseract import image_to_string
myText = image_to_string(Image.open("tmp/test.jpg"),config='-psm 10')
myText = image_to_string(Image.open("tmp/test.jpg"))
中间的斜线会导致这里出现问题。我还尝试使用 PIL 的“.paste”在图像周围添加大量额外的黑色。可能还有一些其他的 PIL 技巧我可以尝试,但除非我必须这样做,否则我宁愿不走那条路。
我尝试使用 config='-psm 10' 但我的 8 有时会以“:”的形式出现,而其他时候则是随机字符。而我的 0 则一无所获。
参考:pytesseract 不适用于 -psm 10 的一位数字图像
_____________编辑_______________ 其他示例:
所以我正在做一些目前似乎有效的巫毒转换。但看起来很容易出错:
def ConvertPPTextToReadableNumbers(text):
text = RemoveNonASCIICharacters(text)
text = text.replace("I]", "0")
text = text.replace("|]", "0")
text = text.replace("l]", "0")
text = text.replace("B", "8")
text = text.replace("D", "0")
text = text.replace("S", "5")
text = text.replace(".I'", "/")
text = text.replace(".I", "/")
text = text.replace("I'", "/")
text = text.replace("J", "/")
return text
最终生成:
ConvertPPTextToReadableNumbers return text = 18/20
ConvertPPTextToReadableNumbers return text = 0/5
ConvertPPTextToReadableNumbers return text = 10/10
ConvertPPTextToReadableNumbers return text = 20/20