Kinect V2 背景去除 - 在脚和头发上切割像素
Kinect V2 Background Removal - Cutting of an pixels over foot and Hair
我已经在我的 Windows-RT 应用程序中使用 kinect 实现了背景删除功能(又名:绿屏实现),那里的像素噪声(抖动)在脚部区域和头发上都非常高获得的用户那么如何减少像素的这种噪音?
您可以应用一些技巧来减少噪音:
cv::bilateralFilter,最密集,但正确的迭代次数将使图像平滑。
cv::morphologyEx,如果结构元素(十字、圆等)的类型和大小正确,则形态学闭合将消除图像中的小间隙(几个像素)。
cv::inpaint,将关闭更大的间隙并填充数据不可用的图像。我建议在此步骤之后尝试双边过滤(平滑)。
cv::findContours,过滤面积小于阈值的轮廓可用于去除图像中的大间隙。
1 和 3 主要用于椒盐噪声,2 和 3 最适合去除缺失数据。
按比例缩小深度数据并将其按比例放大(具有良好的插值)也具有平滑图像同时保留边缘的效果。
使用 K2,您可能还会发现从颜色到深度坐标 space 或反之亦然的映射比前者提供更好的结果。
最后,我建议你看看传统的绿色加网和VR/AR使用的一些技术,例如用浅色或深色轮廓为前景的最外边缘着色以获得'clean' 看
我已经在我的 Windows-RT 应用程序中使用 kinect 实现了背景删除功能(又名:绿屏实现),那里的像素噪声(抖动)在脚部区域和头发上都非常高获得的用户那么如何减少像素的这种噪音?
您可以应用一些技巧来减少噪音:
cv::bilateralFilter,最密集,但正确的迭代次数将使图像平滑。
cv::morphologyEx,如果结构元素(十字、圆等)的类型和大小正确,则形态学闭合将消除图像中的小间隙(几个像素)。
cv::inpaint,将关闭更大的间隙并填充数据不可用的图像。我建议在此步骤之后尝试双边过滤(平滑)。
cv::findContours,过滤面积小于阈值的轮廓可用于去除图像中的大间隙。
1 和 3 主要用于椒盐噪声,2 和 3 最适合去除缺失数据。
按比例缩小深度数据并将其按比例放大(具有良好的插值)也具有平滑图像同时保留边缘的效果。
使用 K2,您可能还会发现从颜色到深度坐标 space 或反之亦然的映射比前者提供更好的结果。
最后,我建议你看看传统的绿色加网和VR/AR使用的一些技术,例如用浅色或深色轮廓为前景的最外边缘着色以获得'clean' 看