一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

随笔分类 -  MATLAB

上一页 1 2 3 4 5 6 下一页
MATLAB 对应点集配准的四元数法
摘要:这个算是ICP算法中的一个关键步骤,单独拿出来看一下。 算法流程如下: 1.首先得到同名点集P和X。 2.计算P和X的均值up和ux。 3.由P和X构造协方差矩阵sigma。 4.由协方差矩阵sigma构造4*4对称矩阵Q。 5.计算Q的特征值与特征向量。其中Q最大特征值对应的特征向量即为最佳旋转向 阅读全文
posted @ 2020-09-10 14:44 一杯清酒邀明月 阅读(523) 评论(0) 推荐(0) 编辑
MATLAB 高斯牛顿法最优化
摘要:计算步骤如下: 下面使用书中的练习y=exp(a*x^2+b*x+c)+w这个模型验证一下,其中w为噪声,a、b、c为待解算系数。 代码如下: 1 clear all; 2 close all; 3 clc; 4 5 a=1;b=2;c=1; %待求解的系数 6 7 x=(0:0.01:1)'; 8 阅读全文
posted @ 2020-09-10 14:42 一杯清酒邀明月 阅读(1170) 评论(0) 推荐(0) 编辑
MATLAB Levenberg-Marquardt法最优化
摘要:上一篇博客中介绍的高斯牛顿算法可能会有J'*J为奇异矩阵的情况,这时高斯牛顿法稳定性较差,可能导致算法不收敛。比如当系数都为7或更大的时候,算法无法给出正确的结果。 Levenberg-Marquardt法一定程度上修正了这个问题。 计算迭代系数deltaX公式如下: 当lambda很小的时候,H占 阅读全文
posted @ 2020-09-10 14:41 一杯清酒邀明月 阅读(891) 评论(0) 推荐(0) 编辑
MATLAB FAST特征点检测
摘要:算法思想:如果一个像素与它邻域的像素差别较大(过亮或过暗) , 那它更可能是角点。 算法步骤: 1.上图所示,一个以像素p为中心,半径为3的圆上,有16个像素点(p1、p2、...、p16)。 2.定义一个阈值。计算p1、p9与中心p的像素差,若它们绝对值都小于阈值,则p点不可能是特征点,直接pas 阅读全文
posted @ 2020-09-10 14:39 一杯清酒邀明月 阅读(450) 评论(0) 推荐(0) 编辑
MATLAB 点集配准的SVD法
摘要:本篇我们使用SVD计算点集配准。 下面是《视觉slam十四讲》中的计算方法: 计算步骤如下: 我们看到,只要求出了两组点之间的旋转,平移是非常容易得到的,所以我们重点关注R的计算。展开关于R的误差项,得: 注意到第一项和R无关,第二项由于R'R=I,亦与R无关。因此,实际上优化目标函数变为: 接下来 阅读全文
posted @ 2020-09-10 14:38 一杯清酒邀明月 阅读(613) 评论(0) 推荐(0) 编辑
MATLAB 曲面拟合
摘要:这里用到的还是最小二乘方法,和上一次这篇文章原理差不多。 就是首先构造最小二乘函数,然后对每一个系数计算偏导,构造矩阵乘法形式,最后解方程组。 比如有一个二次曲面:z=ax^2+by^2+cxy+dx+ey+f 首先构造最小二乘函数,然后计算系数偏导(我直接手写了): 解方程组(下图中A矩阵后面求和 阅读全文
posted @ 2020-09-10 14:37 一杯清酒邀明月 阅读(1202) 评论(0) 推荐(0) 编辑
MATLAB 局部加权线性回归
摘要:通常我们使用的最小二乘都需要预先设定一个模型,然后通过最小二乘方法解出模型的系数。 而大多数情况是我们是不知道这个模型的,比如这篇博客中z=ax^2+by^2+cxy+dx+ey+f 这样的模型。 局部加权线性最小二乘就不需要我们预先知道待求解的模型,因为该方法是基于多个线性函数的叠加,最终只用到了 阅读全文
posted @ 2020-09-10 14:35 一杯清酒邀明月 阅读(872) 评论(0) 推荐(0) 编辑
MATLAB 求向量间的旋转矩阵与四元数
摘要:问题是这样,如果我们知道两个向量v1和v2,计算从v1转到v2的旋转矩阵和四元数,由于旋转矩阵和四元数可以互转,所以我们先计算四元数。 我们可以认为v1绕着向量u旋转θ​角度到v2,u垂直于v1-v2平面。 四元数q可以表示为cos(θ/2)​+sin(θ/2)​u,即:q0​=cos(θ/2)​, 阅读全文
posted @ 2020-09-10 14:34 一杯清酒邀明月 阅读(1843) 评论(0) 推荐(2) 编辑
MATLAB 旋转矩阵、欧拉角、四元数互转
摘要:欧拉角转旋转矩阵公式: 旋转矩阵转欧拉角公式: 旋转矩阵转四元数公式,其中1+r11+r22+r33>0: 四元数转旋转矩阵公式,q0^2+q1^2+q2^2+q3^2=1: 欧拉角转四元数公式: 四元数转欧拉角公式: matlab代码如下: 1 clear all; 2 close all; 3 阅读全文
posted @ 2020-09-10 14:32 一杯清酒邀明月 阅读(4500) 评论(0) 推荐(0) 编辑
MATLAB 贝塞尔曲线
摘要:下面三个公式分别是一次、二次和三次贝塞尔曲线公式: 通用的贝塞尔曲线公式如下: 可以看出,系数是由一个杨辉三角组成的。 这里的一次或者二次三次由控制点个数来决定,次数等于控制点个数-1。 实现的效果如下: 代码如下: 1 clear all; 2 close all; 3 clc; 4 5 p=gi 阅读全文
posted @ 2020-09-10 14:31 一杯清酒邀明月 阅读(1557) 评论(0) 推荐(0) 编辑
MATLAB DBSCAN
摘要:DBSCAN全称Density-Based Spatial Clustering of Applications with Noise,是一种密度聚类算法。 和Kmeans相比,不需要事先知道数据的类数。 以编程的角度来考虑,具体算法流程如下: 1.首先选择一个待处理数据。 2.寻找和待处理数据距离 阅读全文
posted @ 2020-09-10 14:30 一杯清酒邀明月 阅读(1656) 评论(0) 推荐(1) 编辑
MATLAB 点云密度
摘要:算法思路是首先建立kd树,然后找到每个点距离最近的点的距离,对距离求和再求平均即可。 代码如下: 1 clear all; 2 close all; 3 clc; 4 5 pc = pcread('rabbit.pcd'); 6 pc = pcdownsample(pc,'random',0.1); 阅读全文
posted @ 2020-09-10 14:28 一杯清酒邀明月 阅读(435) 评论(0) 推荐(0) 编辑
MATLAB 图像投影到点云
摘要:最近接触点云比较多,如果把图像投影到点云应该挺有意思。 首先需要载入图像,然后做个球或其他什么形状的点云,这里可以参考球坐标公式。 最后通过pcshow将像素输出到点云上即可。 原图: 投影后的点云: 代码如下: 1 clear all; 2 close all; 3 clc; 4 5 img = 阅读全文
posted @ 2020-09-10 14:27 一杯清酒邀明月 阅读(720) 评论(0) 推荐(0) 编辑
MATLAB 计算图像旋转角度
摘要:比如有图像1,将其旋转n度得到图像2,问如何比较两张图像得到旋转的度数n。 算法思路参考logpolar变换: 1.从图像中心位置向四周引出射线。 2.计算每根射线所打到图像上的像素累计和,得到极坐标灰度曲线。 3.比较两张图的灰度曲线,得到最相关的偏移位置,即为两张图像的旋转角度。 原图: 旋转了 阅读全文
posted @ 2020-09-10 14:25 一杯清酒邀明月 阅读(1973) 评论(0) 推荐(0) 编辑
MATLAB 龙格库塔法
摘要:非刚性常微分方程的数值解法通常会用四阶龙格库塔算法,其matlab函数对应ode45。 对于dy/dx = f(x,y),y(0)=y0。 其四阶龙格库塔公式如下: 对于通常计算,四阶已经够用,四阶以上函数f(x,y)计算工作量大大增加而精度提高较慢。 下面以龙格库塔法解洛伦兹方程为例: matla 阅读全文
posted @ 2020-09-10 14:23 一杯清酒邀明月 阅读(4091) 评论(0) 推荐(0) 编辑
MATLAB 传染病模型
摘要:最近新型冠状病毒疫情越来越严重了,待在家中没法出去,学习一下经典传染病模型。 这里总结了五个模型,分别是SI模型,SIS模型,SIR模型,SIRS模型,SEIR模型。 这几种模型的特点先介绍一下。 首先定义SEIR: S为易感者 (Susceptible),指未得病者,但缺乏免疫能力,与感染者接触后 阅读全文
posted @ 2020-09-10 14:22 一杯清酒邀明月 阅读(4934) 评论(0) 推荐(0) 编辑
MATLAB 模拟退火SA
摘要:模拟退火首先从某个初始候选解开始,当温度大于0时执行循环。 在循环中,通过随机扰动产生一个新的解,然后求得新解和原解之间的能量差,如果差小于0,则采用新解作为当前解。 如果差大于0,则采用一个当前温度与能量差成比例的概率来选择是否接受新解。温度越低,接受的概率越小,差值越大,同样接受概率越小。 是否 阅读全文
posted @ 2020-09-10 14:11 一杯清酒邀明月 阅读(384) 评论(0) 推荐(0) 编辑
MATLAB 倾斜校正,透视变换
摘要:过去也写过透视变换,当时算法真是弱爆了,我竟然会通过两次变换。不过那引用的三篇文章都是非常好的文章,直到今天我才看明白。所谓的倾斜校正,一定要有标定点,将一个倾斜的矩形变为不倾斜的。因此可以从原四边形四个点和新矩形四个点得到一个变换矩阵,根据这个矩阵再作用到全局图像就可以了。详细原理在这里,MIT的 阅读全文
posted @ 2020-09-10 14:09 一杯清酒邀明月 阅读(1473) 评论(1) 推荐(1) 编辑
MATLAB HOG方向梯度直方图
摘要:HOG(Histogram of Oriented Gradient)方向梯度直方图,主要用来提取图像特征,最常用的是结合svm进行行人检测。 算法流程图如下(这篇论文上的): 下面我再结合自己的程序,表述一遍吧: 1.对原图像gamma校正,img=sqrt(img); 2.求图像竖直边缘,水平边 阅读全文
posted @ 2020-09-10 14:08 一杯清酒邀明月 阅读(722) 评论(0) 推荐(0) 编辑
MATLAB PSNR
摘要:PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了。PSNR越高,压缩后失真越小。这里主要定义了两个值,一个是均方差MSE,另一个是峰值信噪比PSNR,公式如下: 这里的MAX通常是图像的灰度级,一般就 阅读全文
posted @ 2020-09-10 14:06 一杯清酒邀明月 阅读(587) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 下一页