几乎相同的Tesseract图像解析方式不同

时间:2019-04-30 21:59:49

标签: python opencv tesseract

我正在打开图像进行形态转换并保存。但是,图像之间显然没有区别(即使放大到像素也是如此)。图片链接在下面。其中一个解析正确,另一个解析错误。

这是踢脚线。如果我打开在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”。

enter image description here

图片错误地解析为“ 522.983.8422”。

enter image description here

1 个答案:

答案 0 :(得分:2)

这两个图像确实不同。

如果将它们推入GIMP中,然后将图层叠加模式设置为Subtract,则会得到以下信息:

difference

最后一个2之后,差异似乎包含一些伪像,Tesseract认为这是另外一位数字。

使用Paint保存结果可能会重新编码输出。

请考虑您的图片是JPG(有损压缩)。 制作压缩表的方法有多种,并且您会得到不同的工件。似乎在这种情况下,Tesseract听到了声音。

还要注意,JPG和文本don't go well with each other。您应该考虑使用无损格式,例如PNG。