使用 OpenCV 和 Python 将图像的分割部分替换为其他图像
Using OpenCV and Python to replace a segmented part of an image with other images
我想用另一张图片替换一张图片的一部分。我能够将图像分割成各自的 class,例如,在图像链接中,鹰的图片已使用纯色分割以区分对象和背景。
Original Photo
Segmented Photo
是否有合适的算法可供我试验,按颜色检测对象并执行对象替换?例如,我想用另一种类型的鸟替换这只鹰(有什么办法可以调整新图像的大小以适合图像的当前分割部分?)。
我对这个概念还很陌生,所以非常感谢任何反馈!我绝不是在寻求解决方案,我只是在寻找一个起点(算法、示例代码、教程等)供我进一步探索。非常感谢。
pyimagesearch 是一个很好的博客,可以了解许多图像处理技术。
以下是一些可能有帮助的链接的集合。
Very good background subtraction library
Stitching the images, you will find this useful for image replacement
您可以使用这个 deeplab v3 模型,该模型在数千张图像上进行训练,可以正确分割任何常见对象(在您的例子中是鸟类)。这将为您提供蒙版图像。
现在,如果您尝试仅裁剪前景并将其覆盖在任何其他背景上,只需使用 opencv's seamless clone 即可轻松实现。这使得替换看起来很自然。
但是,如果您只想裁剪背景并将其替换为另一只鸟,我认为这可能有点棘手。因为你需要先把这只鸟移走,用可能的背景替换它,然后再放置另一只鸟。
希望你能从这里开始你的旅程,并一路进步。
我想用另一张图片替换一张图片的一部分。我能够将图像分割成各自的 class,例如,在图像链接中,鹰的图片已使用纯色分割以区分对象和背景。
Original Photo
Segmented Photo
是否有合适的算法可供我试验,按颜色检测对象并执行对象替换?例如,我想用另一种类型的鸟替换这只鹰(有什么办法可以调整新图像的大小以适合图像的当前分割部分?)。
我对这个概念还很陌生,所以非常感谢任何反馈!我绝不是在寻求解决方案,我只是在寻找一个起点(算法、示例代码、教程等)供我进一步探索。非常感谢。
pyimagesearch 是一个很好的博客,可以了解许多图像处理技术。 以下是一些可能有帮助的链接的集合。
Very good background subtraction library
Stitching the images, you will find this useful for image replacement
您可以使用这个 deeplab v3 模型,该模型在数千张图像上进行训练,可以正确分割任何常见对象(在您的例子中是鸟类)。这将为您提供蒙版图像。
现在,如果您尝试仅裁剪前景并将其覆盖在任何其他背景上,只需使用 opencv's seamless clone 即可轻松实现。这使得替换看起来很自然。
但是,如果您只想裁剪背景并将其替换为另一只鸟,我认为这可能有点棘手。因为你需要先把这只鸟移走,用可能的背景替换它,然后再放置另一只鸟。
希望你能从这里开始你的旅程,并一路进步。