栅格化处理激光雷达点云数据
栅格化处理激光雷达点云数据
- matlab版本
matlab版本
lidardata=load('D:\论文相关数据\高速路数据\highwaypoints1.txt');
lidardata1=load('D:\论文相关数据\高速路数据\highwaypoints3.txt');
length_lidardata=length(lidardata);
k=1;
for i=1:length_lidardataif (lidardata(i,2)>=-20 && lidardata(i,2)<=40 && lidardata(i,1)>=-12 && lidardata(i,1)<=12 )after_lidardata(k,1:3)=lidardata(i,:);k=k+1;end
end
x=after_lidardata(:,1);
y=after_lidardata(:,2);
z=after_lidardata(:,3);
figure(1);
plot3(x,y,z,'.');
xlabel('X');
ylabel('Y');
zlabel('Z');
set(gca,'XTick',-15:0.5:15);%设置坐标轴的刻度间隔
set(gca,'YTick',-10:5:40);
view(0,90);
grid on;length_lidardata1=length(lidardata1);
a=1;
for j=1:length_lidardata1if (lidardata1(j,2)>=-20 && lidardata1(j,2)<=40 && lidardata1(j,1)>=-12 && lidardata1(j,1)<=12 )after_lidardata1(j,1:3)=lidardata1(j,:);a=a+1;end
end
x1=after_lidardata1(:,1)+20;
y1=after_lidardata1(:,2)+20;
z1=after_lidardata1(:,3);
figure(2);
plot3(x1,y1,z1,'.');
xlabel('X');
ylabel('Y');
zlabel('Z');
set(gca,'XTick',0:2:40);%设置坐标轴的刻度间隔
set(gca,'YTick',0:5:60);
view(0,90);
%view(90,0);
%view(-37.5,30);
% view(-7,-10);
grid on;
% %画出栅格地图用cell创建 2*5(宽为2,长为5)
% scoring_cell=cell(40/2,60/5); %创建一个计数cell数组,用来记录各个栅格中的存点的当前次数。先将各个元素初始化为0
% for i_1=1:20
% for j_1=1:12
% scoring_cell{i_1,j_1}=1;
% end
% end
% grid_cell=cell(40/2,60/5);
% %将原帧数据x方向向右平移20,y方向上向上平移20
% after_lidardata2=after_lidardata1;
% after_lidardata2(:,1)=after_lidardata2(:,1)+20;
% after_lidardata2(:,2)=after_lidardata2(:,2)+20;
% %将数据放入划分的栅格区域中
% length_after_lidardata2=length(after_lidardata2);
% for i_2=1:length_after_lidardata2
% W=ceil(after_lidardata2(i_2,1)/2);
% L=ceil(after_lidardata2(i_2,2)/5);
% grid_cell{W,L}(scoring_cell{W,L},1)=after_lidardata2(i_2,1);
% grid_cell{W,L}(scoring_cell{W,L},2)=after_lidardata2(i_2,2);
% grid_cell{W,L}(scoring_cell{W,L},3)=after_lidardata2(i_2,3);
% scoring_cell{W,L}=scoring_cell{W,L}+1;
% end%画出栅格地图用cell创建 2*5(宽为2,长为5)
%scoring_cell=cell(40/2,60/5); %创建一个计数cell数组,用来记录各个栅格中的存点的当前次数。先将各个元素初始化为0
scoring_cell=cell(60/5,40/2);
for i_1=1:12for j_1=1:20scoring_cell{i_1,j_1}=1;end
end
grid_cell=cell(60/5,40/2);%将原帧数据x方向向右平移20,y方向上向上平移20
after_lidardata2=after_lidardata1;
after_lidardata2(:,1)=after_lidardata2(:,1)+20;
after_lidardata2(:,2)=after_lidardata2(:,2)+20;%将数据放入划分的栅格区域中
length_after_lidardata2=length(after_lidardata2);
for i_2=1:length_after_lidardata2W=ceil(after_lidardata2(i_2,1)/2);%W对应于列L=ceil(after_lidardata2(i_2,2)/5);%L对应于行grid_cell{L,W}(scoring_cell{L,W},1)=after_lidardata2(i_2,1);grid_cell{L,W}(scoring_cell{L,W},2)=after_lidardata2(i_2,2);grid_cell{L,W}(scoring_cell{L,W},3)=after_lidardata2(i_2,3);scoring_cell{L,W}=scoring_cell{L,W}+1;
end%逆向将栅格中数据画出来,以验证的程序的正确性
x3=[];
y3=[];
z3=[];
for i_3=1:12for j_2=1:20if (isempty(grid_cell{i_3,j_2})==0)%isempty 如何数组为空则返回1,反之为0%如何解决元素覆盖问题?x2=grid_cell{i_3,j_2}(:,1);y2=grid_cell{i_3,j_2}(:,2);z2=grid_cell{i_3,j_2}(:,3);x3=[x3;x2];%采用向量拼接的方式,将各个栅格中的元素拼接到一个列向量中,用于验证栅格是否正确y3=[y3;y2];%注意拼接中的两个连接符号,逗号与冒号z3=[z3;z2];endend
end
figure(3);
plot3(x3,y3,z3,'.');
view(0,90);
栅格化处理激光雷达点云数据相关推荐
- 动手学无人驾驶(4):基于激光雷达点云数据3D目标检测
上一篇文章<动手学无人驾驶(3):基于激光雷达3D多目标追踪>介绍了3D多目标追踪,多目标追踪里使用的传感器数据为激光雷达Lidar检测到的数据,本文就介绍如何基于激光雷达点云数据进行3D ...
- 倾斜模型数据及激光雷达点云数据在EPS中联动生产高精度1:500地形图
生产过激光雷达点云数据的朋友们肯定知道如果生产1:500高精度数据,只使用激光雷达数据在很多时候只能满足高程数据精准这一需求,很多地物的绘制只能借助于正射影像来进行绘制,这对于测区中有房屋区域的测区, ...
- 激光点云系列之一:详解激光雷达点云数据的处理过程
交流群 | 进"传感器群/滑板底盘群"请加微信号:xsh041388 交流群 | 进"汽车基础软件群"请加微信号:Faye_chloe 备注信息:群名称 + 真 ...
- 激光雷达点云数据的光伏应用文献阅读总结
一.点云的介绍 点云(point cloud)是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,其独立描述每个点的相关属性信息,点与点之间没有显著的联系.点云数据不仅规避了图像采集过程中 ...
- Velodyne16线激光雷达点云数据中的线束(ring)是如何分布的
将sensor_msgs::PointCloud2转为pcl::PointCloud后的点云数据线束(ring)是从下往上进行递增排序. 在下图中线束0为深蓝色,线束1是红色,线束2为淡蓝色,线束3为 ...
- ROS采集激光雷达点云数据
入手VLP-16激光雷达,想用ROS采集雷达数据,按照现有教程总有些小问题,现在把自己成功采集到数据的经过分享一下,希望能对刚入坑的有所帮助. 本人使用的Ubuntu16.04+kinetic系统 1 ...
- 如何免费下载激光雷达点云数据
第一步打开GlobalMapper,点击online sources,公众号:"LiDAR前沿" 第二步,找到LiDAR模块,第四个USGS选项,再点击connect 第三步,在网 ...
- 【激光雷达】之点云数据滤波处理
一.引言 激光雷达系统组成 激光雷达是采用激光特性和光电探测手段相结合的成像方法,相比于相机等,是一种采用激光作为载体的主动成像设备.大多数激光雷达主体由四个组成部分,分别为:发射,接收,控制,信号处 ...
- 自动驾驶 | MINet:嵌入式平台上的实时Lidar点云数据分割算法,速度可达 20-80 FPS!...
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 这篇文章是激光雷达点云数据分割算法的嵌入式平台上的部署实现.主要的创新点有两点:一是利用多路分支采用不 ...
最新文章
- 洛谷P3572 [POI2014]PTA-Little Bird
- 【设计模式】备忘录模式
- flutter中本地存储shared_preferences的使用
- php php_zip.dll,PHP如何开启自带的ZipArchive类,实现压缩解压功能
- java集合对字符串或对象去重
- Java实验9 T5. 给当前的类文件添加行号拷贝到txt文件
- Linux 命令(72)—— ulimit 命令(builtin)
- code review手记2
- 5. php 基本数据类型
- 解密小程序码:36条放射线
- Linux 的日志服务器 详解(Rsyslog)
- word用宏修改文档中图片大小
- 磨金石教育摄影技能干货分享|乡愁摄影作品欣赏——传统建筑篇
- 使用微信web开发者工具调试接口数据【开发记录】
- Airport Simulation (数据结构与算法 – 队列 / Queue 的应用)
- android p支持4.1,版本过老 Android P将不再支持这类应用
- 储能双向变流器(PCS)设备中的电流检测方法
- 原生JavaScript的评分星星
- 【杂谈】随便聊点啥20201014
- Select 实现网络聊天室功能 (服务器端)