我是刚打开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")
我希望看到给定图像中存在绿色输出
答案 0 :(得分:0)
您可以在被遮罩的图像上使用cv2.countNonZero()
。由于cv2.inRange()
会返回一个最小/最大颜色阈值内的所有像素的二进制掩码,因此我们的想法是,如果掩码上至少有一个白色像素,则该颜色存在
pixels = cv2.countNonZero(gmask)
if pixels > 0:
print("green exist")
else:
print("not found")