Processing of LiDAR point cloud data

9 views (last 30 days)
Hello,
I would like to project the selected section of point cloud data to ground OR flat. As we can see its like ramp but i need it flat. May i know to do it without loss of distance or data (not considerable amount). This is from .pcd file and collected using a LiDAR. This is a map of outside environment.
Kindly some suggestions ASAP

Accepted Answer

Abhisek Pradhan
Abhisek Pradhan on 18 Sep 2019
Use pcread to read point cloud from PLY or PCD file. And extract the selected portion of data points using findPointsInROI. An the use segmentGroundFromLidarDatato segment ground points from organized lidar data.
Please refer the following link for more information.
  4 Comments
Ahmed Iftekhar
Ahmed Iftekhar on 4 May 2020
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
Pavan Kumar B N
Pavan Kumar B N on 16 Jun 2021
Edited: Pavan Kumar B N on 18 Jun 2021
@Ahmed Iftekhar I hope it helps!
%% 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.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!