首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

opencv 二值图像转RGB彩色图像解决办法

2013-12-28 
opencv 二值图像转RGB彩色图像得到某图像的轮廓信息,现在想在源图像中显示出其轮廓信息,所以想以彩色轮廓

opencv 二值图像转RGB彩色图像
得到某图像的轮廓信息,现在想在源图像中显示出其轮廓信息,所以想以彩色轮廓在源图像中显示,比较醒目,但是暂时没有解决。首先将二值图由单通道转为三通道,在用split 将三通道信息分离,单独显示时都显示白色,merge函数将三通道信息整合,想要的结果是三通道的彩色图像,但是就split 和merge 处理后,图像是三通道的黑白显示图像,这里有点困惑,怎么实现彩色显示?opencv 二值图像转RGB彩色图像解决办法
Mat image = imread("D:\\picture\\my-newdst2.jpg");
imshow("my image",image);
Mat dst;
vector<Mat> mv;
split(image,mv);
for (int i = 0;i<mv[0].rows;i++)
{
uchar* data = mv[0].ptr<uchar>(i);
uchar*data1 = mv[1].ptr<uchar>(i);
for (int j = 0;j<mv[0].cols;j++)
{
data[j] = 0*data[j];
data1[j] = 0;
}
}
merge(mv,dst);
imshow("my dst",dst);
[解决办法]
BRG分别是mv[0],mv[1],mv[2]三个通道,可根据想要显示的颜色设计这三个通道的值

热点排行