我有两个图像-背景和前景,具有不同的照明条件和色调。每个人都包含一个人。我也为前景图像中的人设置了Alpha蒙版。我想将前景中的人(使用蒙版裁剪)与背景图像混合,以使最终图像看起来像前景中的人正站在背景中的人旁边(即,现实的合成混合)。分割蒙版,我能够从前景图像中找到裁剪出的人。看来我们需要确保适当的照明,饱和度和色彩匹配以获得自然的融合感。看来,我们可以轻松地使用Photoshop手动进行此操作( link1,link2)。给定两个带有人的随机背景和前景图像,如何以编程方式获得相似的结果?
以下是我尝试过的方法;但它们每个都存在某些问题,并且仅适用于某些类型的图像。
1.OpenCV无缝克隆-适用于平面图像和类似对比度的图像。问题:-沉重,模糊,无法针对所有类型的图像进行泛化。
2。真实感风格转换-效果很好;但它很笨重,需要接受特殊培训,并且只能处理少量的图像。可能还会有人工制品。
3。Fast Color Transfer(pyimagesearch)-适用于平面背景。背景颜色平均会导致颜色溢出到图像roi,从而失去其自然感觉。
还尝试了正常的alpha混合,拉普拉斯混合,直方图匹配等。此外,还尝试了CLAHE,伽马校正,直方图均衡,边缘混合等技术,以调整和改善混合输出。不幸的是,这些组合都没有达到预期的效果。(注意:输出在理想情况下不应看起来像是在背景图像上堆叠或粘贴了一层),即我们需要无缝的自然混合。
是否只能使用某些AI模型才能实现?或者是否有任何轻量级的方法,可以使用一些标准库在Java中执行自动图像堆肥(一般应自适应地适用于任何两个图像)?
我们正在尝试实现与以下方法类似的方法:-
答案 0 :(得分:0)
最终找到了答案。.这是深色调和的咖啡实现:https://github.com/wasidennis/DeepHarmonization。这似乎是一个轻量级的网络,并且运行很快。仍在尝试找出如何将其转换为tensorflow lite之类的移动友好格式...
希望它对某人有帮助...