opencv —— split、merge 通道的分离与合并

通道分离:split 函数

void split (InputArray m, OutputArrayOfArrays mv);

  • m ,需要进行分离的多通道矩阵,一般为 Mat 类型。
  • mv ,用来存储分离后的多个矩阵,多为 vector 容器。

 

通道合并:merge 函数

void merge(InputArrayOfArrays mv,OutputArray dst);

  • mv ,需要被合并的多个矩阵,多为 vector 容器,mv 中所有矩阵必须有着一样的尺寸和深度。
  • dst ,输出矩阵,和 m[0] 拥有一样的尺寸和深度,并且通道的数量是矩阵阵列中的通道数总和。

 

代码示例:

#include
#include
using namespace cv;
using namespace std;
int main() {
    Mat src = imread("C:/Users/齐明洋/Desktop/3.jpg");
vector
bgr_img; split(src, bgr_img);
Mat b_img
= bgr_img[0]; Mat g_img = bgr_img[1]; Mat r_img = bgr_img[2]; imshow("b_img", b_img); imshow("g_img", g_img); imshow("r_img", r_img);
Mat merge_img; merge(bgr_img, merge_img); imshow(
"merge_img", merge_img);
waitKey(
0); }

 

你可能感兴趣的:(opencv —— split、merge 通道的分离与合并)