自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从贝叶斯到卡尔曼

背景介绍假设我们的模型是这个样子的{ xk=f(xk−1,uk)+wk预测方程 zk=h(xk)+vk观测方程\begin{cases} \ x_k=f(x_{k-1},u_k)+w_k & 预测方程 \\ \ z_k=h(x_k)+v_k& 观测方程\end{cases} { xk​=f(xk−1​,uk​)+wk​&nb...

2019-05-09 18:31:37 1262 1

原创 奇异值分解的理解与oepncv代码

特征分解的缺点特征分解的推导与意义与opencv代码在上一篇博客中介绍了特征分解的原理和推导,特征分解在一定的情况下可以很好的分解(实对称矩阵),但是也有很大的局限性1. 只能对可对角化的方阵使用2. 在可以对角化的情况下,特征向量之间也不一定相互正交为了克服这些缺点,我们便在寻找对一个任意的M*N的矩阵都能找到一个类似特征分解的公式:先将在以I为正交基底的情况下,转换到另一个正交...

2018-12-21 12:27:33 620 1

原创 特征分解的推导与意义与opencv代码

特征值与特征向量定义:Ax⃗=λx⃗A\vec{x}=\lambda\vec{x}Ax=λx 则称λ\lambdaλ为矩阵A的特征值,x⃗\vec{x}x称为λ\lambdaλ对应的特征向量。假设A是一个可对角化的矩阵,并且具有n个线性独立的特征向量P=[P1⃗ P2⃗ P3⃗…Pn⃗]P=[\vec{P_1} \ \vec{P_2}\ \vec{P_3} … \vec{...

2018-12-20 12:42:32 1097

原创 一阶梯度法、二阶段梯度法、牛顿法

目标有一个函数f(x)f(x)f(x),我们要求得函数的最小值(或者最大值),由于最值点一般也是极值点,所以求出所有极值点,然后进行对比就能得到我们要的最值,可以理解为一个最小二乘的问题min⁡x12∥f(x)∥22\min_x \frac {1}{2}\| f(x)\|^2_2xmin​21​∥f(x)∥22​解法最暴力的方法,直接求解d12∥f(x)∥22dx=0\frac {d \fr...

2018-11-15 11:05:05 14610 3

原创 最小二乘法求解超定方程的原理

假设我们要求解一个方程AX=0AX=0AX=0其中,A是一个n∗mn*mn∗m的矩阵,X是一个m∗1m*1m∗1的向量一般情况下,n>>m,这就是一个超定方程了,理论上无解,但是我们可以求得最小二乘意义下的解求解过程min∣∣AX∣∣22min||AX||^2_2min∣∣AX∣∣22​∣∣AX∣∣22=(AX)T(AX)=XTATAX||AX||^2_2=(AX)^T(...

2019-03-11 16:19:40 8015

原创 n阶贝塞尔曲线的理解以及c++编程实现

贝塞尔曲线的原理(BezierCruve)查看原理戳我这里就不介绍推导过程了,值得注意的是文章中的线段都是矢量,然后线段都可以被拆分成两个坐标的差来表示AB=B−AAB=B-AAB=B−A一开始看有点蒙蔽,代入这个等式后,之后所有的推导都可以理解。这里就直接介绍一下结论Pik(t)={Pi(t)k=0(1−t)Pik−1(t)+tPi+1k−1(t),k=1,2,3…n;i=0,1,2…n-k...

2018-11-27 17:29:07 9350 12

原创 旋转矩阵的推导过程

刚体变换定义一个映射g:R3→R3\R^3 \to \R^3R3→R3如果满足一下两个特性,则是刚体变换1. 长度保持不变:∥g(p)−g(q)=∥p−q∥\Vert g(p)-g(q)=\Vert p-q\Vert∥g(p)−g(q)=∥p−q∥, 所有p,q∈R3p,q\in\R^3p,q∈R32. 叉乘保持不变:g∗(v×w)=g∗(v)×g∗(w)g_*(v×w)=g_*(v)×g...

2018-10-29 19:56:49 3098

原创 相机标定的数学原理及其推导过程

接着上一篇博客计算机视觉之相机模型推导建立过程在上一篇博客中介绍了针孔模型,这篇博客介绍一下相机的畸变参数,然后对推导过程做了详细的推导。畸变参数:由于针孔模型透光很少,导致相机的曝光时间很长,现实生活中一般使用凸透镜代替针孔,大大提高了曝光效率,但是代价便是引入了畸变。畸变主要分为两种,切向畸变和径向畸变。径向畸变:由于一般透镜在制作过程中,由于工艺问题,所以光在离中心越远的地方折射...

2018-02-28 17:58:12 2890

原创 计算机视觉之相机模型推导建立过程

 世界坐标系:物体的真实世界坐标(三维)相机坐标系:相对于相机建立的坐标系(三维)图像坐标系:成像面上以光轴为原点的坐标系(二维)像素坐标系:成像面上以左上角为原点的坐标系(二维),注意单位是整形的,因为像素是一个一个的。齐次坐标:可以简单的理解成用多一维表示低纬的坐标。例如的齐次形式可以表示为,对应的关系为x=X/Zy=Y/Z一般可以令Z=1,则x=X,y=Y...

2018-02-25 23:33:07 1939

原创 最小二乘法与岭回归的介绍与对比

一 线性回归(最小二乘法)假设我们有n个样本数据,每个数据有p个特征值,然后p个特征值是线性关系。即对应的线性模型写成矩阵的形式即是Y=XA由于样本与模型不一定百分百符合,存在一些噪声,即误差,用B表示,B也是一个向量即B=Y-XAY为样本值,XA为模型的计算值,即期望值误差的平方的计算公式Xi为行向量,A为列向量。最小二乘法的目标就是取得最小的e对应的A,...

2017-11-11 00:20:20 30950 1

原创 卡尔曼滤波的理解以及推导过程

针对的系统为:状态方程       X(k)=AX(k-1)+Bu(k-1)+W(k-1)测量方程       Z(k)=HX(k)+V(k)                         0W是状态预测的噪声 符合正态分布N(0,Q)V 是测量的噪声     符合正态分布N(0,R)理解:一般测量值Z(k)为外界提供,大概是采用一种不同的方式去获取同一个目标值(值不一定...

2017-11-01 22:16:05 16395 4

原创 C++函数学习

1. 内联函数 inline和define内联函数比常规函数执行速度更快,比define更安全。常规函数调用内存中是跳来跳去的,内联函数是直接创建副本,顺序执行,代价是内存浪费更多,define是宏替换。在不支持inline特性的环境下,经常使用define来达到类似的效果,如单片机。2.引用变量&、const、&&常规函数是按值传递的,如在C语言中要修改参数的值只能通过指针来

2017-08-25 16:42:06 504

原创 opencv形态学理解

形态学知识/**************************************************************************/-代表腐蚀+代表膨胀*代表匹配一下针对的是二值图像,图片指黑底白字腐蚀A-B={z|(B)z包含于A}1.该式指出B对A的腐蚀是一个用z平移的B包含在A中的所有的点z的集合2.等价于B不与北京共享任何公共元素。膨胀A...

2017-08-07 13:09:59 756

原创 opencv 频率域滤波实例

先上参考链接:http://blog.csdn.net/qq_19764963/article/details/51209970http://www.cnblogs.com/TonyHome/p/4010116.html这里给出高斯滤波器的实例,关于傅立叶变换的详细步骤,可以看上一篇博客,这里不做过多介绍了 #include<opencv2/opencv.hpp>...

2017-07-29 21:02:03 9105 6

原创 opencv 傅立叶变换及其逆变换实例及其理解

傅立叶变换是把图像从空间域转化到频率域的变换。空间域一般的情况下,空间域的图像是f(x,y)=灰度级(0-255),形象一点就是一个二维矩阵,每个坐标对应一个颜色值。频率域先介绍几个概念频率:对于图像来说可以指图像颜色值的梯度,即灰度级的变化速度幅度:可以简单的理解为是频率的权,即该频率所占的比例能量=幅度(可能不太准确)变换结果为F(u,v)F代表幅度值,u代...

2017-07-26 15:50:39 14679

原创 opencv实现拉普拉斯锐化的总结

我先粗类的介绍一下拉普拉斯算子就是沿着x方向的二阶导数和沿着y方向的二阶导数之和。由于图像都是离散的值,所以结果是得到一个简单的线性表达式,如下图所示拉普拉斯算子写成滤波器则是{0,1,0,                             1,-4,1,                               0,1,0}其他还有几个常用的滤波器{1,1...

2017-07-19 22:07:22 4912

原创 TSL1401使用方法和心得

-------------------------------------------------------------------------------------------------------------由于该资料在网上随便搜索便有,我就不再详细的介绍其电路原理和曝光时间的计算公式我着重介绍一下驱动的代码,如果有更大的兴趣看完这篇文章后可以去看看电路原理,以及其他大神的博客...

2017-07-11 22:02:38 11618 6

原创 C++调用API初步创建Windows窗口程序

首先在进行介绍前,先介绍一下api,个人理解,api是在windows.h中提供的一些封装好的函数。创建一个窗口程序的一般步骤是先注册一个窗口类名,然后再创建一个窗口,传递信息进行处理(窗口的操作都是通过信息传递来实现的)下面介绍几个要用到api函数RegistetClass()  //该函数只有一个参数,是一个指向WNDCLASS结构的指针//该函数用来注册一个窗口类WNDC

2017-06-04 23:37:47 7415 4

空空如也

空空如也

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

TA关注的人

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