【发布时间】:2016-03-04 12:27:49
【问题描述】:
我正在使用 OpenCV3 对图像进行模糊和下采样,我只想模糊由二进制掩码定义的区域内的区域,例如:
在该区域模糊后,我想对图像进行下采样而不再次模糊整个图像,因此pyrDown 对我没有用处。
有什么想法吗?
【问题讨论】:
标签: c++ image opencv mask blur
我正在使用 OpenCV3 对图像进行模糊和下采样,我只想模糊由二进制掩码定义的区域内的区域,例如:
在该区域模糊后,我想对图像进行下采样而不再次模糊整个图像,因此pyrDown 对我没有用处。
有什么想法吗?
【问题讨论】:
标签: c++ image opencv mask blur
诡计:
cv::Mat roi;
cv::blur(image & mask,roi,cv::Size(3,3));//Or whatever blurring you want
cv::Mat Result=(image & (~mask)) + roi;
cv::resize(result,result,cv::Size(New_Width,New_height)); // Or whatever downsampling you want
【讨论】:
image 是一个 3 通道矩阵,而 mask 是一个二进制(单通道)掩码,则该解决方案不起作用。