【发布时间】:2012-12-24 07:07:14
【问题描述】:
我有来自 Kinect 的 RGB 和深度图像作为 png 格式。我正在尝试将深度数据与分水岭分割一起使用,但我不知道如何结合这两种数据并获得更准确的结果。我检查了一些论文,但我不理解结果或找不到专门为分水岭算法编写的解决方案。如何包含深度数据作为分割过程的参考点?
我正在使用 MatLab 的图像处理工具箱。
图片来自 Nathan Silberman 等人。 al. 在Silberman's website上的数据库
一个示例 RGB 图像及其对应的深度文件如下所示(注意深度图像,原本是二进制图像,被转换为 uint8):
更新:我尝试通过获取每个通道(红色、绿色、蓝色和深度)并计算它们的权重,从 RGB 源与深度数据一起创建加权灰度图像;然后包括与每个相应像素的权重相乘的值。但是得到的灰度图像并没有显着改善结果。它并不比仅基于 RGB 的分割好。如果我遵循这种方法,我还能做什么?或者,如何查看深度数据的效果?
【问题讨论】:
-
你能包含这样的图像吗?根据情况,我更喜欢使用另一种采用种子点的 Meyer 分水岭算法。
-
图片已添加!是的,Meyer's 会很棒,但我想尝试没有种子点。
-
你误会了,会自动找到种子点来创建标记图像,但分水岭实现必须接受图像和标记图像。我只是提到使用不同的实现。
-
请澄清原始深度图像是二进制图像是什么意思。将深度设为二进制是没有意义的,并且包含的图像具有级别 0、88、98、104。我想不出任何可以将 {0, 1} 变为 {0, 88, 98, 104 的转换}.
-
这里是您发布为深度文件的渐变的分水岭:i.imgur.com/gyPdy.png。我看不出它与输入图像有什么关系,您需要澄清它们之间的关系。
标签: matlab image-processing image-segmentation watershed