点云处理有时因为数据量太大,我们需要对其进行下采样。 这里的方法是先将点云填入固定大小的三维网格中,然后每个网格中选一个点生成新的点云。 新点云即为下采样后的点云。 这里使用斯坦福兔子作为测试点云。 小兔子pcd下载地址。 原始点云: 采样后点云: matlab代码如下: ...
我只是感觉好玩,写了这样一段程序。 原理就是先随机生成两个点,然后根据这两个点画直线,最后在直线上的像素保留,没在直线上的像素丢弃就行了。 最后生成了一幅含有很多空洞的图像。 当然,对含有空洞的图像是可以用修复算法修复的。 我也尝试修复了一下,用的算法我过去也写过,可以看这里。 这一次就不贴修复代码了,那段程序中的输入图像img mask和这里的输出图像img mask是一模一样的。 原图: 采样 ...
2014-09-06 17:47 0 3341 推荐指数:
点云处理有时因为数据量太大,我们需要对其进行下采样。 这里的方法是先将点云填入固定大小的三维网格中,然后每个网格中选一个点生成新的点云。 新点云即为下采样后的点云。 这里使用斯坦福兔子作为测试点云。 小兔子pcd下载地址。 原始点云: 采样后点云: matlab代码如下: ...
这个过去用就写过,这次正好有人问这个算法,所以在这里又把C代码改为了matlab了。 霍夫变换是把原图像中的直线上的每一个点转换到参数空间对应的曲线上,由于每一个点对应一条曲线,因此在参数空间中所有曲线会相交到一个点,形成一个最值。因此原图寻找直线斜率的问题就变成了参数空间寻找最值的问题 ...
计算方法: 1. 两条直线方向向量v1和v2的叉积,得到平行于两条直线的平面v3。 2. 计算v3与第一条直线v1叉积,得到垂直于v3并且过线v1的平面v4,计算面v4与线v2的交点,得到线v2上的点t2。 3. 计算v3与第二条直线v2叉积,得到垂直于v3并且过线v2的平面v5,计算面v5 ...
随机游走类似布朗运动,就是随机的向各个方向走吧。 虽然代码没什么技术含量,不过产生的图像实在太漂亮了,所以还是贴上来吧。 产生的图像: matlab代码如下: ...
clear all; M = 10; % bit数 符号数 N = 100; % 总采样数 L = N/M; % 每bit采样数 emp_rate = 0.5; % 占空比 imp = round(rand(1,M)); % round(...):四舍五入; rand(M,N):产生(0,1 ...
RANSAC在图像拼接中有所使用,有时候也在图像理解的相关算法中有所使用。 算法简介如下(摘自《图像处理、分析与机器视觉(第3版)》): 1.假设我们要将n个数据点X={x1,x1,...,xn}拟合为一个由至少m个点决定的模型(m<=n,对于直线,m=2)。(我这里实际是两个不同均值 ...
RRT快速搜索随机树英文全称Rapid-exploration Random Tree,和PRM类似,也是一种路径规划算法。 和PRM类似,算法也需要随机撒点,不过不同的是,该算法不是全局随机撒点,而是一次撒一个点,然后判断当前搜索树与随机点距离,然后找到搜索树距离随机点最近的节点,向该随机点 ...
DBSCAN全称Density-Based Spatial Clustering of Applications with Noise,是一种密度聚类算法。 和Kmeans相比,不需要事先知道数据的 ...