在Python中合并OpenCV 3下的HSV频道

时间:2016-01-10 23:42:21

标签: python opencv

我试图将HSV图像分割成其通道,更改它们并将它们合并回来,但是一旦我运行合并功能,通道就会被解释为RBG通道,所以例如对于以下示例我得到黄色图像,

import cv2

image = cv2.imread('example.jpg')
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
h, s, v = cv2.split(hsv_image)
s.fill(255)
v.fill(255)
hsv_image = cv2.merge([h, s, v])

cv2.imshow('example', hsv_image)
cv2.waitKey()

使用Python在OpenCV 3中执行此操作的正确方法是什么?

1 个答案:

答案 0 :(得分:11)

图像始终显示为BGR。如果要显示HSV图像,则需要先转换为BGR:

import cv2

image = cv2.imread('example.jpg')
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
h, s, v = cv2.split(hsv_image)
s.fill(255)
v.fill(255)
hsv_image = cv2.merge([h, s, v])

out = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR)

cv2.imshow('example', out)
cv2.waitKey()