OpenCV—Python 08图像通道分离合并
运行环境:
opencv版本4.6.0.66
python版本3.7.4
一、代码及运行效果
import cv2 as cv
src = cv.imread("test.jpg")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
# 蓝色通道为零
mv = cv.split(src)
mv[0][:, :] = 0
dst1 = cv.merge(mv)
cv.imshow("output1", dst1)
# 绿色通道为零
mv = cv.split(src)
mv[1][:, :] = 0
dst2 = cv.merge(mv)
cv.imshow("output2", dst2)
# 红色通道为零
mv = cv.split(src)
mv[2][:, :] = 0
dst3 = cv.merge(mv)
cv.imshow("output3", dst3)
cv.mixChannels(src, dst3, [2, 0])
cv.imshow("output4", dst3)
cv.waitKey(0)
cv.destroyAllWindows()
二、函数详解
1、split
函数split将一个多通道数组拆分为单独的单通道数组。
2、merge
函数merge将多个数组合并为一个多通道数组。
3、mixChannels
函数mixChannels将指定通道从输入数组复制到输出数组的指定通道。
split,merge,extractChannel,insertChannel和cvtColor的某些形式是mixChannels的部分情况。