曲线拟合的最小二乘法(基于OpenCV实现)的,拟合图像中离散点的拟合直线 .最小二乘法曲线拟合
2009年12月28日
曲线拟合的最小二乘法(基于OpenCV实现)的,拟合图像中离散点的拟合直线 今天使用拟合的最小二乘法,求出了给定的一组坐标系上的点对最接近的直线的。
其具体理论如下:
在科学实验数据处理中,往往要根据一组给定的实验数据 ,求出自变量x与因变量y的函数关系 ,这是 为待定参数,由于观测数据总有误差,且待定参数ai的数量比给定数据点的数量少(即n<m),因此它不同于插值问题.这类问题不要求 通过点 ,而只要求在给定点 上的误差 的平方和 最小.当 时,即
(5.8.1)
这里 是线性无关的函数族,假定在 上给出一组数据 , 以及对应的一组权 ,这里 为权系数,要求 使 最小,其中
(5.8.2)
这就是最小二乘逼近,得到的拟合曲线为y=s(x),这种方法称为曲线拟合的最小二乘法.
(5.8.2)中 实际上是关于 的多元函数,求I的最小值就是求多元函数I的极值,由极值必要条件,可得
(5.8.3)
根据内积定义(见第三章)引入相应带权内积记号
(5.8.4)
则(5.8.3)可改写为
这是关于参数 的线性方程组,用矩阵表示为
(5.8.5)
(5.8.5)称为法方程.当 线性无关,且在点集 上至多只有n个不同零点,则称 在X上满足Haar条件,此时(5.8.5)的解存在唯一(证明见[3]).记(5.8.5)的解为
从而得到最小二乘拟合曲线
(5.8.6)
可以证明对 ,有
故(5.8.6)得到的 即为所求的最小二乘解.它的平方误差为
(5.8.7)
均方误差为
在最小二乘逼近中,若取 ,则 ,表示为
(5.8.8)
此时关于系数 的法方程(5.8.5)是病态方程,通常当n≥3时都不直接取 作为基。
源代码如下:
基于OpenCV
int calAngle(IplImage **lpSrc, IplImage **lpRes, double* angle)
{
- 1
- 2
- 3
前往页