【问题标题】:Microsoft Kinect, from 3D depth map to 2DMicrosoft Kinect,从 3D 深度图到 2D
【发布时间】:2015-01-20 08:03:04
【问题描述】:

我正在尝试通过使用 kinect 的快照获取深度图,然后制作此快照的 2D 图。目标是制作一种房间地图。使用的算法如下:

% Matrice della figura
z=snapshot;

% Dati noti

h=size(z,1);    %480 

w=size(z,2);    %640

% M is a constant based on the field of view angle
 M1=1.12032;  % Costante per le X
 M2=0.84024;   % Costante per le Y


for i=1:h  <br>
    for j=1:w


x(i,j)=(j-(w/2))*(320/w)*M1*z(i,j);

if x(i,j)==0
    x(i,j)=NaN;
end


y(i,j)=(i-(h/2))*(240/h)*M2*z(i,j);

if y(i,j)==0
    y(i,j)=NaN;
end

end
end


Z=min(z);

X=min(x);


figure
plot(Z,X)

问题是这个算法没有做它应该做的事情。 有人能帮我吗?

【问题讨论】:

  • 请将您的代码格式化为更易读的格式

标签: c++ matlab kinect


【解决方案1】:

你可以去掉嵌套循环

x = bsxfun( @times, linspace( -w/2, w/2, w ), z*(320/w)*M1 );
x(x==0) = NaN;
y = bsxfun( @times, linspace( -h/w, h/2, h ).', z*(240/h)*M2 ); 
y( y==0 ) = NaN;

【讨论】:

  • 感谢您的回答。我已经简化了代码,现在它运行良好
猜你喜欢
  • 2016-12-01
  • 2012-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多