gpt4 book ai didi

c++ - 在 OpenCV 2 中将彩色图像与灰度图像混合

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:22:44 30 4
gpt4 key购买 nike

我想在 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 之后,您的灰度图像在一个 channel 中。执行 threshold 后,将其改回三 channel 。因此,在 thresholdaddWeighted 之间,添加语句:

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

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

关于c++ - 在 OpenCV 2 中将彩色图像与灰度图像混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23582128/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com