Python 需要一种区分白色img和内容img的方法吗

Python 需要一种区分白色img和内容img的方法吗,python,image,opencv,colors,Python,Image,Opencv,Colors,我有很多从一张大照片上剪下来的照片。其中一些包含黑色密封圈的零件,但大多数是纯白色的 我需要的是一种识别所有包含黑色部分的图像的方法,因为只有它们与我进一步的问题相关。 一定有一个聪明的方法可以做到这一点,但我找不到一个简单的方法 对于切片等,到目前为止我使用opencv 非常感谢您可以设置图像阈值 您只需在黑白像素之间找到正确的截止点thresh 您必须找到自己的度量来确定需要多少白/黑像素来确定是否为纯白色。您可以使用百分比或绝对阈值。只需检查平均值即可。黑色图像的平均值将接近零。白色图像的

我有很多从一张大照片上剪下来的照片。其中一些包含黑色密封圈的零件,但大多数是纯白色的

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

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


非常感谢

您可以设置图像阈值

您只需在黑白像素之间找到正确的截止点
thresh

您必须找到自己的度量来确定需要多少白/黑像素来确定是否为纯白色。您可以使用百分比或绝对阈值。

只需检查平均值即可。黑色图像的平均值将接近零。白色图像的平均值接近255。
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