我正在打开一个图像,做一个形态变换并保存它。但是,图像之间没有明显的区别(即使您放大到像素)。图片链接如下。其中一个可以正确解析,另一个不能正确解析。
这是最重要的。如果我在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”:
发布于 2019-05-01 06:36:18
这两个图像确实不同。
如果你把它们放到GIMP中,并将层覆盖模式设置为Subtract
,你会得到这样的结果:
在最后一个2
之后,差异似乎包含了一些伪像,Tesseract认为这是另一个数字。
使用Paint保存结果可能会重新编码输出。
假设你的图片是JPG格式的,是有损压缩的。有几种方法可以制作压缩表,您将根据不同的方法得到不同的工件。现在的情况似乎是,Tesseract发现了问题所在。
还要注意JPG和text don't go well with each other。您应该考虑使用无损格式,如PNG。
https://stackoverflow.com/questions/55929177
复制相似问题