www.gusucode.com > vision 源码程序 matlab案例代码 > vision/DetectCylinderInPointCloudExample.m

    %% Detect Cylinder in Point Cloud
%
%%
% Load the point cloud.
load('object3d.mat');
%%
% Display point cloud.
figure
pcshow(ptCloud)
xlabel('X(m)')
ylabel('Y(m)')
zlabel('Z(m)')
title('Detect a Cylinder in a Point Cloud')
%%
% Set the maximum point-to-cylinder distance (5 mm) for the cylinder 
% fitting.
maxDistance = 0.005;
%%
% Set the region of interest to constrain the search.
roi = [0.4,0.6;-inf,0.2;0.1,inf];
sampleIndices = findPointsInROI(ptCloud,roi);
%%
% Set the orientation constraint.
referenceVector = [0,0,1];
%%
% Detect the cylinder in the point cloud and extract it.
model = pcfitcylinder(ptCloud,maxDistance,referenceVector,...
        'SampleIndices',sampleIndices);
%%
% Plot the cylinder.
hold on
plot(model)