我有三个Mats,它们都是相同的大小,相同的数据类型等。每个都代表一个通道,现在我想将它们合并为一个RGB-(BGR)-Image。
数据本身来自另一个计算,所以代码目前如下所示:
Mat blue = Mat(Size(1920,1080),CV_8UC1,blue_result);
Mat red = Mat(Size(1920,1080),CV_8UC1,red_result);
Mat green = Mat(Size(1920,1080),CV_8UC1,green_result);
有没有一种简单的方法可以将这三个矩阵合并为一个CV_8UC3
Mat?
答案 0 :(得分:2)
有merge()功能。
Mat blue = Mat(Size(1920,1080),CV_8UC1,blue_result);
Mat red = Mat(Size(1920,1080),CV_8UC1,red_result);
Mat green = Mat(Size(1920,1080),CV_8UC1,green_result);
Mat planes[] = { blue, green, red };
Mat bgrImage;
merge(planes, 3, bgrImage);