opencv-通道分离和合并
通道分离:
void split(const Mat&src,Matmvbegin);
(1)填需要分离的多通道数组
(2)填函数的输出数组或者输出的vector容器
通道合并:
void merge(const Matmv,size_tcount,outputarray dst);
或者void merge(inputarrayofarrays mv,outputarray dst);
(1)填需要合并的输入矩阵
(2)当mv为一个空白的C数组时,代表输入矩阵的个数
(3)输出矩阵
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{
Mat srcImage;
Mat imageROI1,imageROI2,imageROI3,srcImage4;
vector<Mat>channels;
srcImage = imread("C:/Users/csh/Desktop/1.jpg");
split(srcImage, channels);//分离彩色通道
imageROI1 = channels.at(0);
imageROI2 = channels.at(1);
imageROI3 = channels.at(2);
imshow("1", imageROI1);
imshow("2", imageROI2);
imshow("3", imageROI3);
merge(channels, srcImage4);
imshow("4", srcImage4);
waitKey(0);
return 0;
}