【发布时间】:2015-05-05 11:23:25
【问题描述】:
我已经在我的 Windows-RT 应用程序中使用 kinect 实现了背景删除功能(又名:绿屏实现),那里的像素噪声(抖动)在脚部区域以及获取用户的头发上非常高,所以如何减少这种像素噪声?
【问题讨论】:
标签: c# opencv windows-runtime kinect kinect-sdk
我已经在我的 Windows-RT 应用程序中使用 kinect 实现了背景删除功能(又名:绿屏实现),那里的像素噪声(抖动)在脚部区域以及获取用户的头发上非常高,所以如何减少这种像素噪声?
【问题讨论】:
标签: c# opencv windows-runtime kinect kinect-sdk
您可以应用一些技术来减少噪音:
cv::bilateralFilter,最密集,但使用正确的迭代次数会使图像变得平滑。
cv::morphologyEx,如果结构元素(十字、圆形等)的类型和大小正确,形态闭合将消除图像中的小间隙(几个像素的)。
cv::inpaint,将缩小更大的间隙并填充数据不可用的图像。我建议在这一步之后尝试双边过滤(平滑)。
cv::findContours,过滤面积小于阈值的轮廓可用于去除图像中的大间隙。
1 和 3 主要用于椒盐噪声,2 和 3 最适合去除缺失数据。
按比例缩小深度数据并将其按比例放大(通过良好的插值)还具有平滑图像同时保留边缘的效果。
使用 K2,您可能还会发现从颜色到深度坐标空间的映射(反之亦然)比前者提供了更好的结果。
最后,我建议您看看传统绿色加网和 VR/AR 使用的一些技术,例如用浅色或深色轮廓为前景的最外边缘着色以获得“干净”的外观。
【讨论】: