如何查找图像中是否存在颜色

时间:2019-09-13 20:23:22

标签: python image opencv image-processing computer-vision

我是刚打开cv并试图查找检测我的图像中是否存在绿色的新手。

我的cv2.range中有上限颜色和下限颜色。当我只打开cv2.bitwise_并看到颜色时,它表明有绿色,但是我不知道如何打印绿色(如果不存在)

hsv_image= cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
lg = np.array([56,255,251])        
ug = np.array([60,255,255])

gmask = cv2.inRange(hsv_image,lg ,ug)
color = cv2.bitwise_and(img,img,mask=gmask)


if gmask.equals(img):
    print("green exist")
else: 
    print("not found")

我希望看到给定图像中存在绿色输出

1 个答案:

答案 0 :(得分:0)

您可以在被遮罩的图像上使用cv2.countNonZero()。由于cv2.inRange()会返回一个最小/最大颜色阈值内的所有像素的二进制掩码,因此我们的想法是,如果掩码上至少有一个白色像素,则该颜色存在

pixels = cv2.countNonZero(gmask)
if pixels > 0:
    print("green exist")
else: 
    print("not found")