PCL学习笔记.pdf

所需积分/C币:9 2019-06-21 16:20:52 923KB PDF
13
收藏 收藏
举报

详细的对PCL学习过程中常见函数说明,有详细的图形和文字说明
图 ②连接多个点云数据 用途:行,同类型的点云数据拼接。列,点云特征属性的扩展(例如: 法方向、颜色信息等) 函数:行:直接;列: concatenatefields. 例子: code for concatenate two point clouds 问题:列之后怎么调用呢 效果:图()行;图(),列 Cloud a 1.2812557?的94197938 828.1255y931491.35 358.688917438842.563 764.518.281879.531 227531525844311.281 Loud he 15.3438359383四.188 15.844169,8西1812.22 456.3v121.93842812 loud G: 2812557?的419??38 828.1255y9.31491.375 358.688917438842.563 51.5182818?531 72?.531525.844311.281 15.343893.5938373.188 15.844169,8751812.2 456.375121938478125 请*任意键继续 图 a C: Windows\system 32\cmd.exe Cloud A 1.281255P7y419?938 828.125599.31491 358.688917438842.563 764.5178-281879531 72?.531525844311.281 ICloud B: 15.343893.5938373.188 15.844159.8751日2。22 456.375121.938478125 .125386.938544.456 584.875616.18662.19 Gloud G 1.28125577y41y?938153438935938373.188 828.1255,1491,3715.84416.8751812.22 358.68891743842645635121934812 182818P9.531.125386,938544 227531525.844311.281584.875616.188621.719 请按任意键继续. 图 用途:根据给定条件滤除噪声点。与 相似 函数:pas. setFilterFieldName("x")pas. netFilter. imits(-500500;/x取到(单 位为cm) 例子: code for Pass Through filtering 问题:可以同时满足多个方向()的条件么? 效果:方向(米到米) 图 (统计滤波) 用途:标点,领域內个邻居的统计学特征(标准差)要求,滤波 Atg: pc1:: StatisticalOutlierRemoval<pcl: PointXYZ> sor sor. setInputCloud (cloud) sor. setMeanK(50) //周围50个点 sor. setStddevMulthresh(1.0);//标准差大于1.0的点滤除(虽然不知道有什么用) sor filter (*cloud filtered) 例子: code for statistical cut lier filtering 问题:还有哪些统计学特征?怎么用来滤波?这么滤波有什么意义? 效果:图周围个点的方差人于的滤除,用红色点表示。 图 (投影到平面,平面用参数模型表示) 用途:可以得到不同方向的视图(最普通的俯视、正视、侧视等等) 函数: // Create a set of planar coefficients with X-Y-0,Z-0平面;设置平面参数,平面参数是可以设置的 pc 1:: ModelCoet'f'icients:: Ptr coefficients (new pcl: Mode ICoef'ficients O) coefficients->values. resize (1) fficients->values [o= coefficients->values [1l=0 coefticients->values [2]=1.0) coefficients->values[3=0 / Create the filtering object pel:: Pro jectInliers<pcl: PointXYZ> proj proj. setModelType pcl:: SACMODEL PLANE proj. setInputCloud (cloud proj. setModel Coefficients (coefficients); proj. filter (c.d projec ted) b]: code for Projecting points to plane using paremertric model 问题: 效果:图:平面(俯视图);图: 平面投影 图 图 条件孤立点滤波 用途:滤除孤立点;按条件从点云中找到想处理的区域。 函数: 孤立点滤除 pcI:: RadiusOutlierRemova<pc: Pointxy7> outram / build the filter outre sct InputCloud(cloud outre set Radius Search (20) //半径20cm之内 outre. setMinNeighhors I nAdi us (5) //至少有5个邻居 // apply filter outre filter (cloud fi ltered 条件滤波:(米到米;:米到米;米到两米) pcl:: ConditionAndpcl:: PointXYz>: Ptr range cond (new pel: ConditionAnd<pcl: PointXYZ> () range cond-)addComparison pcl: Fie I dCompari son<pc 1:: PointXYZ>: ConstPtr (new pcl:: FieldComparison<pcl: PointXYz>(" z", pc1:: ComparisonOps: GT, -100))) pcl,7l range cond->addComparison (pcl: FieldComparison(pcl: Point XYZ>: ConstPtr(new Comparison<pcl:: PointXYz>(z, pc1:: ComparisonOps: LT, 200))) range cond->addComparison (pcl: FieldComparison<pc1:: PointXYZ>:: ConstPtr (new pcl:: FieldComparison(pcl: PointXYz>(x", pc1:: ComparisonOps:: GT, -400))) range cond->addComparison (pcl: FieldComparison<pcl:: PointXYZ>:: ConstPtr (new pcl: FieldComparison<pc1:: PointXYz>( x", pcl: ComparisonOps: LT, 400))) range cand->addComparison (pcl:: FieldComparison<pcl:: PointXYZ>:: ConstPtr (new pcl:: FicldComparison<pcl: PointXYz>("y", pcl: ComparisonOps:: GT, 800))) range cond->addComparison (pcl: FieldComparison'pc1:: PointXYZ>: Cons tPtr (new pcl:: FieldComparison(pcl: lointXYz)(y, pcl:: ComparisonOps: LT, 3000))) // build the filter uc1: ConditionalRemovalpcl: PointXYZ> condren (range cond) condrem. setInputCloud (cloud) condrem. setkeepOrganized(true) / apply filter condrem filter (*cloud filtered) 例子: code for Conditional and Radius filtering 问题:怎么在一副图中用不同颜色区分孤立点? 条件滤波后,滤波后数据和原来的一样?如图所小 效果:图孤立点滤除前后点云数据基本情况;图:条件滤除后点云 A C: \Windows\system32\cmd.exe Loaded raw Lidar data points[]: 13440G Width: 134415G height: 1 1s_dense Cloud after filtering: points[]:114857 idth:114857 height: 1 is dense: 1 漂:y 图 Loaded raw Lidar data points[l: 134400 width: 134400 height:1 且s_ dense:⊥ Cloud after filtering points[I: 134400 width:1344因区 height: 1 is_dense 图 用途:给出平面参数模型(同 ),也可自动选择平 面模型,给定误差值,从点云中分割出离平面距离小于的的点,组成新的点 函数:pe1: SACSegmentat<pcl: Pointxyz>seg seg. set Mode IType(pcl: SACMODEL PLANE);/选择模型(面or球等等)pl: SacModel中 seg. set Methodl'ype(pc1:: SAC RANSAC);//分割方法 SACSe gen tat. ionFromNorma //seg. setDistance Threshold(0.01 seg. setDistance threshold(10);//自己数据的参数cm++ scg. setInputCloud (cloud->make Shared() seg segment (inliers, *coefficients) 例子: example for plane mode l segmentation 问题:如何用其它的模型?其它方法分割?如何将分割结果和原始数据用不 同颜色同时显示在一幅图中。 效果 平面,误差米 Point cloud data: 134400 points Model coefficients:6.147814197194日988819287626 Mode l: 18164

...展开详情
试读 15P PCL学习笔记.pdf
立即下载
限时抽奖 低至0.43元/次
身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • 分享宗师

关注 私信
上传资源赚钱or赚积分
最新推荐
PCL学习笔记.pdf 9积分/C币 立即下载
1/15
PCL学习笔记.pdf第1页
PCL学习笔记.pdf第2页
PCL学习笔记.pdf第3页

试读结束, 可继续读2页

9积分/C币 立即下载