OpenCV:将图像A的“仅部分”添加/合并/组合到图像B.

时间:2015-10-24 12:31:32

标签: java python c++ opencv image-processing

我已经检查了一些已经回答的关于添加(合并/合并)两个图像OpenCV的问题。但我的问题在这里有点不同。我想添加/合并/合并图像A的某些部分到图像B 。请考虑以下示例: -

enter image description here

在这张照片中,Image A - 戴眼镜的家伙

Image B - 没戴眼镜的家伙(憨豆先生) 所以,我要找的是algorithm中的一些OpenCV或函数,通过该Image B我可以Image A只有 Image A的眼镜 即将Image B的一部分合并到Image C 。)(另外,请不要 - 我不希望我的结果看起来像Image A这里是两个图像的变形版本。我只想添加从Image BImage B的眼镜。休息一切都会像wp_cache_flush(); 中那样。 任何帮助都非常感谢:)

就我而言,编程语言并不重要。我可以使用任何语言C ++,Java,python,Ruby等。 如果你仍然不理解我的疑问,我可以再解释一下。 期待一些好的解决方案。感谢

1 个答案:

答案 0 :(得分:1)

您的问题不是很清楚 - 您没有准确说明您对输入图像的了解。

假设你以某种方式识别要在两个图像中切割的区域(这是困难的部分),那么它就变成了一个简单的合成过程。基本算法使用" matte",即与原始图像大小相同的黑/白图像,在第一图像(背景)区域中保持白色,在其他地方保持黑色。您将第一个图像乘以遮罩,将第二个图像乘以遮罩的负值,然后对结果求和。