OpenCV 分離顏色通道 多通道顏色混合

2021-09-25 06:49:38 字數 875 閱讀 5851

通道分離用到split()函式,該函式用於將多個通道陣列分離成幾個單通道陣列,該函式的c++版本有兩個原型:

void split(const mat& src,mat*mvbegin);

void split(inputarray m, outputarrayofarrays mv);

第乙個引數,inputarray型別的m或者是const mat&型別的src,填的是我們所要分離的多通道陣列。

第二個引數,outputarrayofarrays型別的mv,填函式的輸出陣列或者輸出的vector容器。

split(srcimage,channels); //分離色彩通道

dstimage=channels.at(0);

merge()是split()函式的逆操作,將多個陣列合併成乙個多通道的陣列,它也有兩個基於c++函式的原型:

void merge(const mat*mv,size_tcount,outputarray dst)

void merge(inputarrayofarray mv,outputarray dst)

第乙個引數,mv,填入需要被合併的輸入矩陣或vector容器的陣列,這個mv引數中所有的矩陣必須尺寸一樣,深度一樣。

第二個引數,count,當mv為乙個空白的c陣列時,代表輸入矩陣的個數(大於1)

第三個引數,dst,代表輸出矩陣,和mv有相同的尺寸和深度,並且通道的數量是矩陣陣列中通道的總數。

OpenCV 顏色通道分離和合併

opencv 顏色通道分離和合併 顏色通道分離 語法 mv cv.split img mv 示例 顏色通道分離cv.split 或者使用img 0 img 1 img 2 注意分離的顏色通道為bgr b,g,r cv.split img print b print b.shape 142146 15...

Opencv中分離與合併多通道矩陣

用split函式可分離多通道,如將多通道矩陣m分離為多個單通道,這些單通道矩陣被存放在vector容器中。如下 mat m mat 2,2 vec3f 1,12,56 vec3f 2,5,32 vec3f 2,3,74 vec3f 21,3,15 vectorplanes split m,plane...

顏色通道的分離與融合

include include include using namespace std using namespace cv void addimg mat img,mat img1,vectorchannels,mat imgc,string tit int main else cout 載入影象...