資源簡介
此代碼利用MATLAB編程實現(xiàn)三維點云的重建。
代碼片段和文件信息
clc;
clear;
run(‘C:\Users\Fxy\Desktop\vlfeat-0.9.20-bin\vlfeat-0.9.20\toolbox\vl_setup‘)
file_path?=‘.\rect\‘;%?圖像文件夾路徑
img_path_list?=?dir(strcat(file_path‘*.jpg‘));%獲取該文件夾中所有圖像
ttt?=?length(img_path_list);%獲取圖像總數(shù)量
for?num=1:ttt??
????image_name?=?img_path_list(num).name;%?圖像名
????img(::num)=rgb2gray(imread(strcat(file_pathimage_name)));
%?????img(::num)=single(img(::num));
end
K=[2900.120791.168;02890.56656.275;001];
cameraParams?=?cameraParameters(‘IntrinsicMatrix‘K‘);
img(::1)?=?undistortImage(img(::1)?cameraParams);????
prevPoints_a?=?detectSURFFeatures(img(::1));
prevPoints_b?=?detectHarrisFeatures(img(::1));
%?prevPoints?=?vl_sift(img(::1));
%prevPoints?=?detectMinEigenFeatures(img(::1));
%prevPoints?=?detectBRISKFeatures(img(::1));
prevFeatures_a?=?extractFeatures(img(::1)prevPoints_a);
prevFeatures_b?=?extractFeatures(img(::1)prevPoints_b);
prevLoc=[prevPoints_a.Location;prevPoints_b.Location];
vSet?=?viewSet;
viewId?=?1;
vSet?=?addView(vSet?viewId?‘Points‘?prevLoc?‘Orientation‘?...
????eye(3?‘like‘?prevLoc)?‘Location‘?...
????zeros(1?3?‘like‘?prevLoc));
for?i?=?2:ttt
????I?=?undistortImage(img(::i)?cameraParams);??????????????????????????%去畸變;
????currPoints_a=?detectSURFFeatures(I);
????currPoints_b=?detectHarrisFeatures(I);
%?????currPoints_a.Location=round(currPoints_a.Location);
%?????currPoints_b.Location=round(currPoints_b.Location);
%?????for?k=1:size(currPoints1)
%??????????if?(ismember(currPoints.Location(k1)currPoints1.Location(:1)))
%??????????????currPoints(k)=[];
%??????????end
%?????end???????
????currFeatures_a?=?extractFeatures(I?currPoints_a);
????currFeatures_b?=?extractFeatures(I?currPoints_b);
????indexPairs_a?=?matchFeatures(prevFeatures_a?currFeatures_a);
????indexPairs_b=?matchFeatures(prevFeatures_b?currFeatures_b);
????indexPairs=vertcat(indexPairs_aindexPairs_b+size(currFea
評論
共有 條評論