在OpenCV 2中混合彩色图像和灰度图像



我想在OpenCV 2中混合颜色(RGB)图像和灰度图像。我目前得到运行时错误,原因似乎是我使用不同类型的每个图像像素。例如,彩色图像为CV_8U。我的代码:

cv::Mat copy;
    image.copyTo(copy);
    cv::cvtColor(copy, copy, CV_BGR2GRAY);
    threshold(copy, copy, 0, 255,3 );
    addWeighted( image, 0.5f, copy, 0.5f, 0.0,image);

错误在addWeighted函数中。我不确定如何混合这两个图像

cvtcolor之后,您的灰度图像在一个通道中。执行threshold后,将其更改为三通道。因此,在thresholdaddWeighted之间,添加语句:

cv::cvtColor ( copy, copy, CV_GRAY2BGR );

而且,我不确定你想达到什么目的。如果你只想提取白色的区域,你最好使用cv::bitwise_and .

相关内容

  • 没有找到相关文章

最新更新