opencv颜色通道分离与混合
程序员文章站
2022-05-16 14:54:10
...
分离
void split(const Mat& src, Mat*mvbegin);
void split(InputArray m,OutputArrayOfArrays mv);
查看 OutputArrayOfArraysde 定义,第二个参数可以使用vector容器 。
typedef OutputArray OutputArrayOfArrays;
typedef const _OutputArray& OutputArray;
_OutputArray(std::vector<Mat>& vec);
_OutputArray(Mat& m);
根据OpenCV的BGR色彩空间(bule,Green,Red,蓝绿红),其中vec.at(0)就表示引用取出channels中的蓝色分量,vec..at(1)就表示引用取出channels中的绿色色分量,vec..at(2)就表示引用取出channels中的红色分量。
混合
void merge(const Mat* mv, size_tcount, OutputArray dst)
void merge(InputArrayOfArrays mv,OutputArray dst)