gpt4 book ai didi

c++ - OpenCv copyTo() 不工作

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:40 24 4
gpt4 key购买 nike

我想使用 openCv 的 copyTo() 函数对图像应用蒙版,但蒙版不起作用。我仍然获得相同的图像。

当我在网上搜索时,我看到了一些建议,例如:

-源图像和目标图像必须不同, -源图像必须具有 CV_8U 类型, -掩码图像必须具有 CV_8U 等类型。

我尝试了所有方法,但无法解决问题。此外,在 OpenCv 官方网站上,没有提及此类限制。

这是我的部分代码:

Mat source; //initialized in some way
Mat mask; // this is also initialized in some way

source.copyTo(source, mask);

最佳答案

您的蒙版应该是单 channel 图像,其值为 0255

Mat mask(source.rows, source.cols, CV_8UC1, Scalar(0));

使用上面的掩码图像,您应该在目标中得到一个空白图像,因为所有掩码值都是零。

并且使用以下 mask ,您应该能够获得与源图像相同的目标图像,因为您的整个 mask 图像都被值 255 激活。

Mat mask(source.rows, source.cols, CV_8UC1, Scalar(255));

对于一些只有少数图像区域包含白色像素的其他蒙版,您将在目标图像中获得源图像的那个区域。

关于c++ - OpenCv copyTo() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32351494/

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