segmentGro​undFromLid​arData for pcd file

2 views (last 30 days)
Ahmed Iftekhar
Ahmed Iftekhar on 4 May 2020
Commented: Pavan Kumar B N on 16 Jun 2021
Hello,
I want to preprocess some lidar data in .pcd format. I tried "segmentGroundFromLidarData" algorithm to segment the groud but this code is written for .pcap format. In pcd fromat it has (m by n matrics size) on the other hand, pcap file has (m by n by 3 matrics) size.
Any thought of how to format pcd file into pcap file? or any other matlab libraries to deal with pcd file?
SIncerely,
Ahmed

Answers (1)

Mahesh Taparia
Mahesh Taparia on 11 May 2020
Hi
The input of the function segmentGroundFromLidarData will be a point cloud. You mentioned that your file is having mxn array. Are you using only intensity matrix as input? But the point cloud data will be in structure format and that structure will be the input to the function. For more information, you can refer to this example in documentation page.
  3 Comments
Mahesh Taparia
Mahesh Taparia on 12 May 2020
It seems you are having an unorganised point cloud data. You can use pcfitplane function, refer to this documentation. You can refer to this question which is already answered in the community.
Pavan Kumar B N
Pavan Kumar B N on 16 Jun 2021
%% for PCAP files
veloReader = velodyneFileReader('file.pcap','VLP16');
ptCloudObj = readFrame(veloReader,44);
%% for PCD Files you use pcread
ptCloudObj = pcread('file.pcd');
ptCloudSegGround = pcdSegmentGround(ptCloudObj);
figure
pcshow(ptFilCloud)
hold on
plot(ptCloudSegGround)
function [model] = pcdSegmentGround(ptCloudSrc)
disp(size(ptCloudSrc.Location))
% Use pcfitplane
maxDistance = 0.2;
referenceVector = [0 0 1];
model = pcfitplane(ptCloudSrc, maxDistance, referenceVector)
end

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!