我有两个设置数据从kinect获取 1-深度图像的大小为480 * 640(uint16)从一个场景 2 - 具有相同颜色的图像大小(480 * 640 * 3 single) 问题是如何将这些数据合并在一起生成一个带有PLY格式的彩色3D点云。 我需要说,不幸的是我不能再访问kinect,我应该只使用这些数据。如何从深度图像和从Matlab获取的彩色图像生成三维点云
4
A
回答
1
我从来没有尝试这样做在MATLAB,但我认为这是你在找什么:
http://es.mathworks.com/help/vision/ref/pcfromkinect.html
的工具是计算机视觉系统工具箱™内。
0
不错的问题。 您应该使用来自Burrus的本教程 - 基本上,您需要使用深度信息将颜色/深度质心转换为第三维。请注意,Kinect v1深度和颜色流稍有不匹配,因此也要考虑到这一点。
教程可以在这里找到:http://nicolas.burrus.name/index.php/Research/KinectCalibration 您也可以使用该作者的作品:Khoshelham,K.,& Elberink,SO(2012) - Kinect的深度数据的准确性和分辨率为室内地图应用
该matlab代码应该是这样的:
% All formulas and values from:
% Khoshelham, K., & Elberink, S. O. (2012).
% Accuracy and resolution of Kinect depth data for indoor mapping applications.
% Sensors (Basel, Switzerland), 12(2), 1437–54. doi:10.3390/s120201437
load('janFrameThousand.mat')
pc=zeros([size(D) 3]);
W=size(D,2);
H=size(D,1);
f=5.453;
for indWidth = 1:W
for indHeight= 1:H
% copy z value
pc(indHeight,indWidth,3)=D(indHeight,indWidth);
% calc x value
pc(indHeight,indWidth,1)=-(pc(indHeight,indWidth,3)/f)*...
((indWidth-W/2)*0.0093+0.063);
% calc y value
pc(indHeight,indWidth,2)=-(pc(indHeight,indWidth,3)/f)*...
((indHeight-H/2)*0.0093+0.039);
end
end
X=pc(:,:,1);
% X=X(:);
Y=pc(:,:,2);
% Y=Y(:);
Z=-pc(:,:,3);
Z(Z==0)=NaN;
Surface=surf(X,Y,Z,'edgecolor','none','facecolor','interp');
lighting gouraud
camlight
% colormap(repmat(winter,20,1))
axis image
axis vis3d
xlabel('X axis')
ylabel('Y axis')
zlabel('Z axis')
相关问题
- 1. MATLAB图像处理:从彩色图像获取HSV组件
- 2. 图像为16bpp时,从位图获取彩色图像灰度
- 3. Kinect在MATLAB中将彩色图像映射到深度图像
- 4. 使用Matlab生成彩色图像
- 5. 从二维图像中获取深度图像
- 6. 如何将kinect的深度图像与彩色图像对齐
- 7. Kinect v2从鼠标点击使用彩色图像和深度图像获取x,y,z c#
- 8. 从二维图像获取三维图像
- 9. 从Kinect V2 RGB和深度图像创建脱机点云
- 10. 图像大小取决于图像的色彩位深
- 11. 如何从彩色图像动画到灰色图像?
- 12. pcl ::点云到cv ::垫深度图像
- 13. 从单个图像提取深度图
- 14. 彩色的三维图
- 15. 彩色图像灰度图像在Firefox
- 16. 三维图像旋转(Matlab)
- 17. 热图对彩色图像matlab
- 18. MATLAB代码 - 彩色图像直方图
- 19. BufferedImage - 获取灰度彩色模型图像中像素的值
- 20. 从图像获取像素值:Matlab
- 21. 从给定深度生成点云图像-matlab计算机视觉系统工具箱
- 22. 将三维图像转换为色彩图
- 23. 如何在MATLAB中将彩色图像转换为灰度图像?
- 24. 获取图像的主色彩
- 25. Matlab,从图像制作自定义色彩图
- 26. 如何适应彩色图像灰度图像的算法?
- 27. 从立体图像获取深度图的库?
- 28. Matlab - 如何使用二进制图像掩盖三维图像
- 29. 如何将现有的彩色图像变成黑白图像?
- 30. 在MATLAB中的彩色图像变形
没有kinect设备将无法正常工作。 – havakok