需要一种区分白色img和带有内容的img的方法

时间:2019-06-25 13:32:57

标签: python image opencv colors

我从大图像上切了很多照片。其中一些包含黑色密封环的一部分,但大多数是纯白色的。

我需要一种识别所有包含黑色部分的图像的方法,因为只有它们与我的进一步问题相关。 必须有一个聪明的方法来做到这一点,但是我找不到简单的方法来做到这一点。

用于切片等。到目前为止,我使用过opencv

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以为图像OpenCV threshold设置阈值

im = cv2.imread('image.png', cv2.IMREAD_GRAYSCALE)
thresh = 127
_,th1 =cv2.threshold(im,thresh,255,cv2.THRESH_BINARY)
num_pixels = im.shape[0] * im.shape[1]
pixels_white = np.sum(th1)/255 # because everything above thresh is set to 255
percentage_white = pixels_white/num_pixels
absolute_below_thresh = num_pixels - pixels_white

您只需要在黑白像素thresh之间找到正确的边界即可 而且,您必须找到自己的指标来确定需要确定多少白色/黑色像素才能确定是否纯白色。您可以使用百分比或绝对阈值。