我的代码得到了很多带有数字的小图像。我尝试将其与模板进行比较并获取正确的数据。它起作用了。
original= cv2.imread('im/10.png')
sought = (254,254,254)
result = np.count_nonzero(np.all(original==sought,axis=2))
如您所见,在这些情况下,白色数字位于图片的不同角落,没问题,结果(白色像素的数量)相等,我得到的是18 = 18。 但现在有新图片,。
首先,这里的数字不是(254,254,254)。我认为图像可能更暗淡。或更差的质量,我尝试使用:
result = np.count_nonzero(np.all(original > 200,axis=2))
不幸的是,它给了我不同的数据。里面有13张的两张照片不相等。
我想要什么:
从深色背景中指出白色数字的方法,但周围的白色细圆圈除外。 (在13张照片上)圆不是问题,如果我在中心裁剪图像并摆脱圆,我的结果将不会改变-13仍然是!= 13。
也许可以将图像转换为灰度,或者转换为HSV,也许只是使其更亮或更对比度。
像素计数对我有好处,它非常快且通常准确。
我会重复:现在我的代码看到两张图片有13张一样的图片(有不同的颜色,或者亮度或黑白比率,我不知道),我想摆脱这个问题。
答案 0 :(得分:1)