使用kinect平滑器制作播放器剪切图像,特殊抗锯齿

时间:2011-11-02 09:03:29

标签: c# image-processing xna kinect

我尝试使用kinect的深度图像来剪切玩家图像但是有一些问题,首先当我使用depthStreamWithPlayerIndex时,只需要320x240 reslution 可以用于深度流,第二个问题是从深度像素反向校正正确的彩色像素的功能高达640x480,如果你想在高分辨率上显示这两个问题的图像效果不好,现在我想知道的是无论如何要修复这两个问题还是算法平滑输出图像?像抗锯齿这样的东西?

look at player image edge

1 个答案:

答案 0 :(得分:4)

我能想到的一些事情。

如果你想要平衡人的边缘,那么你可以这样做:

  • 制作一个mask,即玩家所在的255,其他地方为0
  • 平滑蒙版(使用Gaussian blurring和经验确定的参数)
  • 使用新背景编辑原始播放器图像时使用此遮罩

您可以使用形态学操作替换平滑步骤(例如dilation,打开/关闭)。

一旦你将玩家放在新的背景上,你可以"feather"玩家的边缘让他们脱颖而出:

  • Canny operator应用于上面的边缘遮罩
  • 扩大面具。你现在有一个覆盖播放器外部的面具
  • 模糊遮罩下面的合成图像部分