我正在尝试将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中执行此操作的正确方法是什么?
图像始终显示为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()