fit cuboid for for sequence of pcd data
2 ビュー (過去 30 日間)
古いコメントを表示
Hello All,
I am using this openExample('lidar/CuboidModelExample') example for fitting cuboid to non-ground objects. Can anyone please advice how to use it for a pcap file (streaming data)?
fileName = 'test.pcap';
deviceModel = 'VLP16';
veloReader = velodyneFileReader(fileName, deviceModel);
% Read a scan of lidar data
ptCloud = readFrame(veloReader) %#ok<NOPTS>
roi = [0 40 -20 30 -7 7];
in = findPointsInROI(ptCloud,roi);
ptCloudIn = select(ptCloud,in);
hcluster = figure;
panel = uipanel('Parent',hcluster,'BackgroundColor',[0 0 0]);
ax = axes('Parent',panel,'Color',[0 0 0]);
pcshow(ptCloudIn,'MarkerSize',30,'Parent',ax)
title('Input Point Cloud')
maxDistance = 0.3;
referenceVector = [0 0 1];
[~,inliers,outliers] = pcfitplane(ptCloudIn,maxDistance,referenceVector);
ptCloudWithoutGround = select(ptCloudIn,outliers,'OutputSize','full');
hSegment = figure;
panel = uipanel('Parent',hSegment,'BackgroundColor',[0 0 0]);
ax = axes('Parent',panel,'Color',[0 0 0]);
pcshowpair(ptCloudIn,ptCloudWithoutGround,'Parent',ax)
legend('Ground Region','Non-Ground Region','TextColor', [1 1 1])
title('Segmented Ground Plane')
distThreshold = 1;
[labels,numClusters] = pcsegdist(ptCloudWithoutGround,distThreshold);
labelColorIndex = labels;
hCuboid = figure;
panel = uipanel('Parent',hCuboid,'BackgroundColor',[0 0 0]);
ax = axes('Parent',panel,'Color',[0 0 0]);
pcshow(ptCloudIn.Location,labelColorIndex,'Parent',ax)
title('Fitting Bounding Boxes')
hold on
for i = 1:numClusters
idx = find(labels == i);
model = pcfitcuboid(ptCloudWithoutGround,idx);
plot(model)
end
1 件のコメント
Elad Kivelevitch
2021 年 6 月 22 日
Removed Sensor Fusion and Tracking Toolbox from the list of products as it is not relevant.
For your informatio the example (and all lidar processing) is from Lidar Toolbox.
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Preprocessing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!