使用 OpenCV 和 Python 将图像的分割部分替换为其他图像

我想用另一个图像替换图像的一部分。我能够将图像分割成其各自的类,例如,在图像链接中,鹰的图片已使用纯色进行分割,以区分对象和背景。

http://img3.mukewang.com/614f24040001313a03490496.jpg

http://img3.mukewang.com/614f240c0001000d03420493.jpg

是否有我可以试验的合适算法,它可以通过颜色检测对象并执行对象替换?例如,我想用另一种类型的鸟替换这只鹰(有没有办法调整新图像的大小以适应图像的当前分割部分?)。

我对这个概念很陌生,所以任何反馈都将不胜感激!我绝不是在寻求解决方案,我只是在寻找一个起点(算法、示例代码、教程等)供我进一步探索。非常感谢。


侃侃尔雅
浏览 681回答 3
3回答

函数式编程

pyimagesearch 是一个很好的博客,可以了解许多图像处理技术。这里收集了一些可能有帮助的链接。按颜色检测对象为了更好地理解图像中的背景和前景,以及在opencv中进行人脸检测很好的背景减法库拼接图像,你会发现这对图像替换很有用

跃然一笑

您可以使用这个经过数千张图像训练的deeplab v3模型来正确分割任何常见对象(在您的情况下,鸟类)。这将为您提供蒙版图像。现在,如果您尝试仅裁剪前景并将其覆盖在任何其他背景上,只需使用opencv 的无缝克隆即可轻松完成。这使得替换看起来很自然。但是,如果您只想裁剪背景并用另一只鸟替换它,我认为可能会有点棘手。因为您需要首先移除这只鸟并用可能的背景替换它,然后再放置另一只鸟。我希望你能在这里开始你的旅程并一路进步。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python