我有两张图片——有和没有衣服的人体模型。
请参考下面的示例图片。忽略人体模型上的珠宝、鞋类,想象第二个人体模型只有衣服。

我只想从这两个图像中提取服装以进行进一步处理。
复杂之处在于拍摄两张照片时相机的位置有轻微的位移。由于这种简单的减法生成服装面具是行不通的。
谁能告诉我如何处理?
我想我需要在两个图像之间进行注册,以便我只能从图像中提取服装?
非常感谢对博客、文章和代码的任何引用。
- 谢谢
我有两张图片——有和没有衣服的人体模型。
请参考下面的示例图片。忽略人体模型上的珠宝、鞋类,想象第二个人体模型只有衣服。

我只想从这两个图像中提取服装以进行进一步处理。
复杂之处在于拍摄两张照片时相机的位置有轻微的位移。由于这种简单的减法生成服装面具是行不通的。
谁能告诉我如何处理?
我想我需要在两个图像之间进行注册,以便我只能从图像中提取服装?
非常感谢对博客、文章和代码的任何引用。
- 谢谢
您提到的方法涉及 a)首先注册图像和 b)使用减法运算去除背景(即人体模型)。
首先是(a)(配准):图像配准涉及计算两个图像中相应像素的位移。真实世界图像的问题在于,世界是 3D 的,并且由于场景中的深度,较近的表面将比场景中较深的表面移动得更多。此外,表面可以自遮挡场景的某些部分。我只是陈述这些,以便您了解所涉及的复杂性。话虽如此,在您上面发布的场景中,您可以使用简单的位移平移模型做得很好。换句话说,您可以假设第二张图像中的所有像素都移动了从原来的位置。所以如果一个像素位于在, 那么它的位置在将会. 可以假设这对于每个像素都是正确的(全局平移)。您现在需要估计水平偏移和垂直移位. 有很多方法可以解决这个问题。这是注册方法(可能是 TMI) Zitova 和 Flusser的学术参考。您可能希望从尝试 ITK 工具包开始并尝试使用“翻译转换”. 如果您发现在考虑了平移变换之后,图像减法仍然会留下部分人体模型,您可能需要尝试一些更高级的变换。例如,相机可能在您手中略微旋转。因此,除了移位之外,您还可以引入轮换。此外,您可能将一张照片拍摄得更靠近另一张照片,因此可能存在比例差异。这需要使用同样包含在 ITK 中的仿射变换。除非这些“全局”方法假定每个像素都以相同的方式移动,否则您还可以使用局部方法。例如,您可以估计一个对于图像中的每个补丁。您可以将图像划分为像素并在另一张图像中搜索最佳对应补丁。这里面的每一个像素假设窗口的移动方式与为补丁估计的运动相同。最后的手段,但最通用的是计算图像中每个像素的密集光流。这为您提供了图像中每个像素的偏移。您可以在流行的OpenCV软件中找到光流实现。
最后,关于 (b)(遮挡):您将不可避免地得到一些没有有效移位的像素,因为它们根本不存在于另一张图像上。或者在第二张图像中发现了一些像素,这些像素在第一张图像中被覆盖。请参阅这些论文以获取遮挡感知光流和带有遮挡检测的 TV-L1 光流的线索