繁体   English   中英

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

[英]Using OpenCV and Python to replace a segmented part of an image with other images

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

原始照片
分割照片

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

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

pyimagesearch 是一个很好的博客,可以了解许多图像处理技术。 这里收集了一些可能有帮助的链接。

按颜色检测对象

为了更好地理解图像中的背景和前景,以及在opencv中进行人脸检测

很好的背景减法库

拼接图像,你会发现这对图像替换很有用

您可以使用这个经过数千张图像训练的deeplab v3模型来正确分割任何常见对象(在您的情况下,鸟类)。 这将为您提供蒙版图像。

分割示例

现在,如果您尝试仅裁剪前景并将其覆盖在任何其他背景上,只需使用opencv 的无缝克隆即可轻松完成。 这使得替换看起来很自然。

来源 结果

但是,如果您只想裁剪背景并用另一只鸟替换它,我认为这可能有点棘手。 因为您需要首先移除这只鸟并用可能的背景替换它,然后再放置另一只鸟。

我希望你能在这里开始你的旅程并一路进步。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM