我正在打开一个图像进行形态转换并保存它。但是,图像之间显然没有区别(即使您放大像素)。图片链接如下。其中一个解析正确,另一个解析不正确。
这是踢球者。如果我在 MS Paint 中打开未正确解析的图像,则什么都不做,然后单击保存,它将神奇地开始正确解析。
任何人都可以对此提供解释吗?
这是我的代码
img = cv2.imread(IMAGE, 1)
imgray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
kernel = np.ones((1,40), np.uint8)
morphed = cv2.morphologyEx(imgray, cv2.MORPH_CLOSE, kernel)
dst = cv2.add(imgray, (255-morphed))
cv2.imwrite("out.png", dst)
图像解析为“52.983.842.”:
图像被错误地解析为“522.983.8422.”:
最佳答案
这两个图像确实不同。
如果将它们插入 GIMP,并将图层叠加模式设置为 Subtract
,你得到这个:
在最后 2
之后,差异似乎包含一些神器,Tesseract 认为是另一个数字。
使用 Paint 保存结果可能会重新编码输出。
考虑到您的图片是 JPG,这是有损压缩的。
有几种方法可以制作压缩表,你会根据它得到不同的工件。看来,当前的情况下,Tesseract 拾起了噪音。
还要注意 JPG 和文本 don't go well with each other .您应该考虑使用无损格式,例如 PNG。
关于python - 几乎相同的 Tesseract 图像解析不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55929177/