在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函数中意外错误地传递参数的问题。我找到了解决办法。谢谢:)