void merge(const Mat* mv, size_t count, OutputArray dst);
void merge(const vector& mv, OutputArray dst );
1.第一个参数是图像矩阵数组,第二个参数是需要合并矩阵的个数,第三个参数是输出
2.第一个参数是图像矩阵向量容器,第二个参数是输出,这种方法无需说明需要合并的矩阵个数,vector对象自带说明
如果要使用merge函数得先使用split函数,合并时只能使用第二个带有容器的参数,使用第一个会出现错误,具体什么原因还不清楚
Mat aChannels[3];
vector<Mat> channels;
split(infrared_img,aChannels) ;//拆分为 BGR 独立通道
split(infrared_img,channels) ;//拆分为 BGR 独立通道
//merge(channels, infrared_enhanced_img);
merge(aChannels,3, infrared_enhanced_img);
使用void merge(const Mat* mv, size_t count, OutputArray dst);
会出现错误:mv[i].size == mv[0].size && mv[i].depth() == depth in function 'merge'