我想从一张脸上矩形裁剪眼睛并将其粘贴到另一张脸上,以便在生成的图像中眼睛部分的肤色与我们粘贴眼睛的人的面部颜色很好地融合。我可以裁剪和粘贴,但混合有问题。目前,矩形裁剪后的眼睛在粘贴后的边界非常明显。我想减少这种效果,这样眼睛就可以很好地与脸部融合,并且生成的图像不会看起来很假。
问问题
583 次
1 回答
1
我的建议是在代码中进行混合。首先,你需要创建两个位图上下文,这样你就有了你的脸和你的新眼睛。
仅在重叠区域中,您需要通过评估两个区域的颜色来确定最外面的“皮肤”区域,并在两个“皮肤”区域中创建这些区域的映射。你会从最外面的区域工作并向中心工作。
对于颜色评估,您应该将颜色转换为 HSV(或 HCL)并查看色调和饱和度。
你需要找出一些标准来确定什么是皮肤和什么是眼睛
一旦你定义了外部区域——不是眼睛,而是皮肤,你就会融合。混合将根据其与眼睛中心的距离(或与定义眼睛的椭圆的距离)使用更多的原始颜色。因此,最初,外部颜色将是 5% 的新颜色,95% 的原始颜色。
当您靠近眼睛时,您将使用更多的眼睛覆盖皮肤颜色。
这应该会产生一个非常好的图像。最大的问题当然是获得一个很好的算法来将眼睛与皮肤分开。
于 2012-08-29T15:15:45.657 回答