自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 PSO的改进(小记)

每个个体具有四个邻居的von Neumannn结构。1,种群拓扑角度(拓扑设计:群中所有个体成员之间的连接关系)不带惯性参数的速度更新公式NIV来加速PSO算法的收敛速度。单环转拓扑结构有利于加快局部信息的开发。全联通拓扑结构信息传递最快。用高斯算子对粒子的速度位置进行变异操作。差分算法改进全局搜索能力。

2024-03-25 16:30:42 871

原创 pcl利用kdtree计算点云密度

点云密度挺需要的,很多时候需要知道点云密度才能进行下一步。这里利用kdtree计算点云密度。这里单位写错了,抱歉。

2024-03-24 14:51:13 562

原创 pcl 凸包ConvexHull

pcl 凸包ConvexHull。

2024-03-23 19:24:15 502

原创 pcl采样:随机采样

pcl 随机采样,实际上就是抽稀。

2024-03-22 00:15:00 403

原创 计算标准差,均值和方差的函数

【代码】计算标准差,均值和方差的函数。

2024-03-20 00:15:00 263

原创 光度立体法的简化求解(已知特殊光源方向)

不过当图片较大的时候,比如4048*4000这种量级的,矩阵很大,速度要10秒,加了openmp也需要2s;上面两式子就是求出的法向量x分量,y分量.这样可以跳过大矩阵求逆相乘的溢出,减少耗时,速度提升很多.如果我们知道一些先验知识,在特定的slant和titls角度,可以简化过程,提升速度(结果在最后)下面是处理4048*4000图片的速度(均加了openmp)那么每个位置(x,y)在四个特殊的角度下,代入朗博公式有。其中,ρ反射率,l是光强。一式加三式,二式加四式有。一式减三式,二式减四式有。

2024-03-19 03:45:00 1031

原创 已知立体空间的三点求平面方程

平面方程ax+by+cz+d=0,求平面方程就相当于求平面的法向量n(a,b,c)和d;显然,法向量和平面上的向量垂直.三点定面,但是这三个点不能共线。

2024-03-18 00:45:00 953

原创 随机生成begin-end之间的实数

【代码】随机生成begin-end之间的实数。

2024-03-17 00:30:00 524

原创 点云翻转:左右翻转,上下翻转,前后翻转.

补充lxr_vision。

2024-03-16 06:15:00 655

原创 pcl 直通滤波

处理某一个坐标轴方向上的点云。

2024-03-15 06:15:00 835

原创 nanoflann和flann速度对比的问题?

20万以下的点云数据,KNN搜索全部点(k=10)时,nanoflann的速度快于flann的速度,但是当数据量40万,百万,千万的时候,nanoflann的速度就慢于flann。有趣的是,如果用半径搜索,我尝试的所有量级,nanoflann都比flann快.数据是点云数据,我尝试了不同量级的点云数据,请问有谁知道为什么吗?

2024-03-14 15:31:10 544

原创 pcl:pcd文件读写

【代码】pcl:pcd文件读写。

2024-03-14 00:15:00 806

原创 pcl弧度角度换算:rad2deg,deg2rad

【代码】pcl弧度角度换算:rad2deg,deg2rad。

2024-03-13 18:01:19 729

原创 求两向量顺时针/逆时针夹角(修改一下错误,再补充一下代码);

1,利用叉乘,判断两向量顺时针夹角大于180还是小于等于180。1,利用叉乘,判断两向量顺时针夹角大于180还是小于等于180。如果x叉乘y大于零,意味着y在x逆时针180°以内的方向.如果x叉乘y小于零,意味着y在x顺时针180°以内的方向.判断两个二维向量顺时针夹角利用叉乘,点乘,其中。a,b顺时针夹角(弧度):4.71238。如果x叉乘y等于零,意味着x,y共线;a,b逆时针夹角(弧度):1.5708。2,利用点乘,求出两个向量的夹角。2,利用点乘,求出两个向量的夹角。利用二维叉乘判断方向,

2024-03-13 09:00:00 1057

原创 cmath 中cos sin等常用函数的坑(弧度角度换算)

cmath中三角函数的输入是弧度不是角度.忘了这件事,找bug找了好久!

2024-03-12 09:44:10 1016 1

原创 求两向量顺时针/逆时针夹角;

如果叉乘大于零,意味着y在x逆时针180°以内的方向.如果叉乘小于零,意味着y在x顺时针180°以内的方向.判断两个二维向量顺时针夹角利用叉乘,点乘,其中。二维叉乘: ​​​​。如果叉乘等于零,意味着x,y共线;利用二维叉乘判断方向,

2024-03-11 09:31:02 1264 1

原创 pcl体素滤波

pcl体素滤波

2024-03-08 09:15:00 658 1

原创 点云置平:基于点云法向量

normal为法向量,z_normal为置平后的法向量,通过这两个向量计算转换矩阵。将平面点云置平(法向量),方便做一些其他处理,与XOY平面平行。

2024-03-07 09:52:43 548

原创 pcl kdtree radiusSearch 半径搜索

参数:第一个cloudIn->points[i]是搜索点,radius是搜索半径,out_ids是搜索半径内的点的索引,out_dists_square是距离平方。记录所有点搜索半径内的邻居的距离平方。记录所有点搜索半径内的邻居的索引。下面是整个代码,因为要对比flann和nanoflann的建树,搜索的速度,我加了时间,可以删掉。只输出了前十个点的邻居的索引,值,距离的平方。建树跟knn搜索一样,搜索函数变了而已。

2024-03-06 09:56:56 1996

原创 pcl kdtree knn搜索

out_ids记录当前搜索点cloudIn->points[i]的最近的十个点的索引。out_dists_square则记录着十个点到搜索点的距离平方,这里是平方!knn,k=10,查找所有点的十个最近邻。kdtree原理:等以后闲了再说。

2024-03-05 14:29:21 619

原创 已知几对匹配的点,利用TransformationEstimationSVD求转换矩阵,配准点云

有两点云,知道两个点云部分配对好的点,分别放入cloud_in,cloud_out中,可以利用TransformationEstimationSVD直接求转换矩阵.cloudAfter就是cloudFrom经过旋转转换后的点云。

2024-03-04 11:42:19 603 1

原创 平面点云,边界提取(基于夹角)

2,给P一个方向,我选的是PO方向 (O是原点),计算向量PN1,PN2,...PNk。3,求出PO和PN1,PN2,...PNk的夹角,这里的夹角是0~360°的。在网上找了一些文章,发现了这个方法1,求出距离P点最近的个点,N1,N2,N3,....Nk。5,求相连夹角的差值,如果差值大于阈值,就是边界值。我的实验结果,带有椭圆,所以阈值设置的是120°。不过在点云数量很大的时候,这种方法很耗费时间.判断点P是否为边界点的步骤。4,把所有的夹角排序,升序。

2024-03-01 10:00:00 1349

原创 nanoflann 的坑radiusSearch

nanoflann中的radiusSearch的输入是搜索半径的平方,不是半径!flann的radiusSearch的输入是搜索半径。

2024-02-29 11:53:09 548 1

原创 pcl 边界提取,利用BoundaryEstimation

不过耗时相对比较久.就算加了多线程。

2024-02-28 10:47:42 852

原创 pcl的NormalEstimation计算法向量

【代码】pcl的NormalEstimation计算法向量。

2024-02-27 16:40:18 753

原创 pcl kdtree的坑indices,distance

如果项目中要选用离自己最近的10个点,应该从indices的第二项开始取,取到第11项也就是下角标1-10。pcl kdtree的indices的第一项是自己,因为自己离自己最近.还有distance是距离的平方,不是距离。

2024-02-27 10:06:43 382

原创 pcl pca求平面点云整体法向量

求平面法向量与拟合平面本质是一样的.我们也可以用LS来求取,这里给出了pca的方法和部分代码。有些项目实现需要平面点云整体的法向量.

2024-02-01 18:23:59 728 1

原创 pcl 最小二乘求平面点云法向量

求平面点云法向量实际上就是拟合平面ax+by+cz+d=0;平面参数(a,b,c)便是平面点云法向量。

2024-01-31 17:20:26 704

原创 沿着法向量的方向投影到某一平面pcl

1,先求法向量,利用computePointNormal得到的前三个参数就是法向量(a,b,c)1,先求法向量,利用computePointNormal得到的前三个参数就是法向量(a,b,c)2,选定一点,这个点是用来定位平面的,通过这个点求出平面ax+by+cz+d=0的d。2,选定一点,这个点是用来定位平面的,通过这个点求出平面ax+by+cz+d=0的d。3,将点云沿着法向量的方向投影到选择的平面上。3,将点云沿着法向量的方向投影到选择的平面上。

2024-01-31 11:22:52 752

原创 pcl粒子群PSO计算平面度

1,初始化种群参数,粒子群规模,并随机生成a,b的值,因为平面点云数据中心化过,所以a,b的值尽量生成的小一点,我限制在(-1,1)之间;在求平面度的时候,LS对于数据量小的点云,比较适合.当数据量变大的时候,达到千万级的时候,LS就会崩,他所需要的矩阵会溢出,最后求出非常离谱的数值.这里采用粒子群来求超大数据量的点云平面度.实验一下,当数据量在百万级的时候,LS要快于PSO.当数据量在千万级的时候,PSO远远快于LS.4,迭代结束,输出最优解,输出最优解的平面度(适应度),看需求画图。

2024-01-30 10:23:26 553 1

原创 pcl最小二乘求点云平面度

接下来求得所有点到该平面的距离(这里的距离要带方向,区分平面上下的点),将距平面上方一个最远的点和平面上方最远的点作差即可,也就是最大距离减去最小距离.该方法只适合点云数量在千万级以下的,在千万级以上的需要另做处理.解下来就是解线性方程的问题了,得到的解X就是平面系数.

2024-01-26 15:50:53 904 1

原创 已知椭圆一般方程求椭圆圆心,偏转角,长轴,短轴等

椭圆一般方程:椭圆心:偏角:

2024-01-26 14:23:42 967 1

原创 pcl求椭圆圆心

由于点云的数量很多,提取椭圆边界之后,点云数量也不少,为了防止计算出的A太大无效,要对点云中心化,这势必会影响椭圆的参数.这里计算了一下。令X=(a,b,c,d,e),上面的方程可以写成AX=b的形式,,进而求解除X,也就是椭圆的参数。多个测量点(xi,yi),根据最小二乘的思想,拟合目标函数,使其最小,故偏导为0;m,n分别未椭圆的长轴短轴,圆心为原点,偏移角0。(懒) 图里面的x y均省略了下角标 i.所以中心化之前的椭圆参数是。

2024-01-26 13:45:08 680 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除