OpenCV 将单通道转换为三通道

项目有个需求:图片传至图像算法库处理完成后需要返回结果图像进行再加工。

目前的情况是相机拍下来的图像是灰度图

传送图像指针给算法处理,算法处理完后将检测结果(eg. ok,ng)写入一张三通道图,只有这样才可以显示彩色文字

然后现在需要回传此三通道图片的指针。返回出来的是三张通道的三个指针。

处理:opencv 可以用split 来分离通道,也可以用merge来合并通道,用cvtcolor是不行的因为另外两个通道的值不确定的时候无法合并。以下为实际操作:

vector<Mat>src;
src.emplace_back(B);
src.emplace_back(G);
src.emplace_back(srcR);
merge(src,dst);
imshow("a",dst);

即可。注意压入vector的三通道的顺序为BGR,否则会导致颜色错乱。

猜你喜欢

转载自blog.csdn.net/u012422524/article/details/128960011
今日推荐