在我的应用程序中,我使用2个摄像头进行3D对象重建.为了校准相机,我使用2组图像计算基本矩阵,以便找到相机姿势(旋转和平移).我使用SVD找到R和T.但是当我试图检查矩阵的准确性时,它根本不起作用:重建点的位置与实际位置不同.
如何检查我是否以正确的方式?
这是我使用的Matlab代码:
D2=[-0.168164529475, 0.110811875773, -0.000204013531649, -9.05039442317e-05, 0.0737585102411];
D1=[-0.187817541965, 0.351429195367, -0.000521080240718, -0.00052088823018, -1.00569541826];
K2=[2178.5537139, 0.0, 657.445233702;0.0, 2178.40086319, 494.319735021;0.0, 0.0, 1.0];
K1=[2203.30000377, 0.0, 679.24264123;0.0, 2202.99249047, 506.265831986;0.0, 0.0, 1.0];
load pts1.dat; % load image points from CAM42
load pts2.dat; % load image points from CAM49
% calcul de la matrice fondamentale
disp('Finding stereo camera matrices ...');
disp('(By default RANSAC optimasation method is used.)');
disp('- 4 : LTS');
disp('- 3 : MSAC');
disp('- 2 : RANSAC');
disp('- 1 : Norm8Point');
disp('- 0 : …Run Code Online (Sandbox Code Playgroud) 我正在关注Matlab>帮助指南"使用点特征匹配在杂乱场景中进行对象检测"和detectSURFFeatures()获取错误,因为它需要一个二维输入参数..png也不起作用.
boxImage = imread('C:\ WORK\images for feature matching\iPhone6p_back_clean.JPG');
boxPoints = detectSURFFeatures(boxImage);
使用detectSURFFeatures时出错预期输入数1,I为二维.
detectSURFFeatures> checkImage(第124行)validateattributes(I,{'logical','uint8','int16','uint16',...
detectSURFFeatures出错(第81行)checkImage(I);
我有一个层图像。我想根据我的要求给它上色。1.来自kinect的(.ply)图像 2.更改云中所有点的rgb值
例如
.ply 图像,其中云中的所有点均为黄色或蓝色。我已经能够使用Matlab命令“scatter3”显示它,但也想通过Matlab的“pcwrite”功能将彩色点云保存为新的点云。