以下均爲github上opencv的個人學習筆記,原路徑如下:
https://github.com/JimmyHHua/opencv_tutorials
源碼示例:
import cv2 as cv
src = cv.imread("C:/Users/Mark/Desktop/CV/opencv_tutorials-master/opencv_tutorials-master/python/code_008/test.png")
cv.namedWindow("input",cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
#藍色通道爲零
mv = cv.split(src) //通道的分離
mv[0][:,:] = 0 //[0]表示藍色通道,[:,:]表示所有像素點集合,也就是整張圖像
dst1 = cv.merge(mv) //通道的合併
cv.imshow("output1", dst1)
#綠色通道爲零
mv = cv.split(src) //通道的分離
mv[1][:,:] = 0 //[1]表示藍色通道,[:,:]表示所有像素點集合,也就是整張圖像
dst2 = cv.merge(mv) //通道的合併
cv.imshow("output2", dst2)
#紅色通道爲零
mv = cv.split(src) //通道的分離
mv[2][:,:] = 0 //[2]表示藍色通道,[:,:]表示所有像素點集合,也就是整張圖像
dst3 = cv.merge(mv) //通道的合併
cv.imshow("output3", dst3)
cv.mixChannels(src, dst3, [2,0])
cv.imshow("output4", dst3)
cv.waitKey(0)
cv.destroyAllWindows()
函數功能說明:mixChannels主要就是把輸入的矩陣(或矩陣數組)的某些通道拆分複製給對應的輸出矩陣(或矩陣數組)的某些通道中,其中的對應關係就由fromTo參數制定.
mixChannels([src], [dst], fromTo)
src:要拷貝通道的圖像對象列表
dst:要拷貝通道的圖像對象列表
fromTo:從哪個通道拷貝到哪個通道去
這裏需要注意,src與dst在圖像尺寸與格式上必須保持一致