matlab - 如何在分水岭图像分割中使用Kinect深度数据

标签 matlab image-processing image-segmentation watershed

我有来自 Kinect 的 PNG 格式的 RGB 和深度图像。我正在尝试将深度数据与分水岭分割一起使用,但我不知道如何组合这两种数据并获得更准确的结果。我查了一些论文,但我不明白结果或找不到专门为分水岭算法编写的解决方案。如何将深度数据作为引用点包含在分割过程中?

我正在使用 MatLab 的图像处理工具箱。

图片来自 Nathan Silberman 等人。 al. 在 Silberman's website 上的数据库

示例RGB图像及其对应的深度文件如下所示(注意深度图像,原本是二值图像,被转换为uint8): RGB image Depth image (converted to uint8)

更新:我尝试通过获取每个 channel (红色、绿色、蓝色和深度)并计算它们的权重,从 RGB 源和深度数据创建加权灰度图像;然后包括乘以每个相应像素的权重的值。但是生成的灰度图像并没有显着改善结果。它并不比仅基于 RGB 的分割好多少。如果我遵循这种方法,我还能做什么?或者,如何查看深度数据的影响?

最佳答案

除非您上传时出错,否则深度图像为黑色且不包含任何深度数据。请记住,您在这里比较苹果和梨(荷兰语)。 Whatershed 图像不是深度图像,它们是轮廓的提取。

接下来你会出错,深度图像的分辨率低于彩色图像。对于 kinect v2,它只有 512x424,而 kinect 的真实深度视觉甚至低于其返回的位图大小(与 kinect v2 相比,它是低分辨率深度,并不是每个像素都是测量的结果)。但是 v2 具有更好的视频输出。

如果您想要更好地分水岭 rgb 图像,请对多个相机帧进行平均以消除相机噪点。

PS 我建议您下载 windows kinect sdk 并查看随附的示例。

关于matlab - 如何在分水岭图像分割中使用Kinect深度数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14248711/

相关文章:

matlab - 在matlab中使用分类器之前的归一化命令

python - 任何语言中最流畅的 REPL 控制台

iphone, 图像处理

python - 如何根据分割图对图像进行模糊处理

c++ - 使用 Watershed 在 C++ 中进行 OpenCV 图像分割

matlab - 如何找到整个二值图像的质心?

Matlab - 用矩阵运算代替循环

matlab - Matlab 中的阴影图

matlab - 如何使用最佳拟合点 Matlab 在条形码的质心点上画一条直线

java - 安卓 OpenCV : Edit ImageView Mat without Reassigning