在cv2 python中,图像输出仅为黑色
这是我的代码,我想做的就是过滤每种颜色并看到图像,但输出的只是黑色图像所有这些。我的测试图像是请帮助我谢谢。 我试着用谷歌搜索,但没有结果。请帮帮我。。谢谢:) 这是我的密码在cv2 python中,图像输出仅为黑色,python,cv2,Python,Cv2,这是我的代码,我想做的就是过滤每种颜色并看到图像,但输出的只是黑色图像所有这些。我的测试图像是请帮助我谢谢。 我试着用谷歌搜索,但没有结果。请帮帮我。。谢谢:) 这是我的密码 def detect_colors(image): color_red = np.array([255,0,0]) color_green = np.array([0, 255, 0]) color_blue = np.array([0, 0, 255]) def_color = np.ar
def detect_colors(image):
color_red = np.array([255,0,0])
color_green = np.array([0, 255, 0])
color_blue = np.array([0, 0, 255])
def_color = np.array([0,0,0])
red_mask = cv2.inRange(image,color_red,def_color)
green_mask = cv2.inRange(image,color_green,def_color)
blue_mask = cv2.inRange(image,color_blue,def_color)
red_output = cv2.bitwise_and(image,image,mask=cv2.inRange(image,color_red,def_color))
green_output = cv2.bitwise_and(image,image,mask=cv2.inRange(image,color_green,def_color))
blue_output = cv2.bitwise_and(image,image,mask=cv2.inRange(image,color_blue,def_color))
cv2.imshow('red',red_output)
cv2.imshow('green',green_output)
cv2.imshow('blue',blue_output)
cv2.waitKey(0)
我传递的参数顺序是错误的。多亏了“pigtel”,我发现了它。传递给inRange方法的边界是hsv格式的,而不是rgbOh格式的,所以您可以告诉我如何在RGB中传递值吗?如何加载该图像?默认情况下,opencv将其加载为BRG。那么你对颜色、红色等的定义就错了。此外,您在inRange调用中切换了下限和上限。总之,你的代码看起来有点复杂。告诉我你是如何加载图像的,我会告诉你如何修复它是的,这就是我在inRange函数中意外错误地传递参数的问题。我找到了解决办法。谢谢:)