matlab - Kinect 深度图像是如何创建的?简单的RGB图像可以转换为像深度图像那样的图像吗?

标签 matlab image-processing kinect gesture gesture-recognition

我的主要动机是从简单的 RGB 图像(来 self 的网络摄像头的图像)中检测手部。 我找到了示例代码find_hand_point

    function [result, depth] = find_hand_point(depth_frame)

    % function result = find_hand_point(depth_frame)
    %
    % returns the coordinate of a pixel that we expect to belong to the hand.
    % very simple implementation, we assume that the hand is the closest object
    % to the sensor.

    max_value = max(depth_frame(:));
    current2 = depth_frame;
    current2(depth_frame == 0) = max_value;
    blurred = imfilter(current2, ones(5, 5)/25, 'symmetric', 'same');
    minimum = min(blurred(:));
    [is, js] = find(blurred == minimum);
    result = [is(1), js(1)];
    depth = minimum;

结果变量是距离相机最近的物体(手)的坐标。

来自 kinect 设备的深度图像被传递给此函数,结果如下:

http://img839.imageshack.us/img839/5562/testcs.jpg

绿色矩形显示距离相机最近的物体(手)。

问题:

  1. 我的笔记本电脑摄像头捕获的图像不是深度图像,而是简单的 RGB 图像。
  2. 有没有办法将 RGB 图像转换为深度图像?
  3. 是否有一种简单的替代技术来检测手部?

最佳答案

Kinect 使用额外的传感器来检索深度数据。单个网络摄像头图像中没有足够的信息来重建 3D 图像。但可以根据一系列图像做出影响深远的估计。这就是 XTR-3D 背后的原理和类似的解决方案。

关于matlab - Kinect 深度图像是如何创建的?简单的RGB图像可以转换为像深度图像那样的图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13542392/

相关文章:

matlab - 如何根据每一行将矩阵转换为一堆对角矩阵?

matlab - 投影矩阵符号混淆(编辑标题)

augmented-reality - 是否可以在没有 Xbox 360 的情况下开发 Kinect 传感器?

c++ - MS Kinect FaceTracker 创建 IFTResult

matlab - 在 Matlab 中,如何使用 formatSpec 格式化运算符指定指数中的位数?

java - 如何在单元格选择过程中同时设置单元格背景和小数格式

matlab - 如何向量化依赖的 For 循环

C:制作图像映射缓冲区副本的最佳方法

c# - 使用 C# System.Drawing/Drawstring 将图像大小调整为图像中的文本

c# - 如何缩放 Kinect 相机?