最小二乘法拟合直线和椭圆

直线拟合

最小二乘法拟合直线

               y=a+bx

式中有两个待定参数,a代表截距,b代表斜率。对于等精度测量所得到的N组数据(xi,yi),i=1,2……,N,xi值被认为是准确的,所有的误差只看yi。下面利用最小二乘法把观测数据拟合为直线。

用最小二乘法估计参数时,要求观测值yi的偏差的加权平方和为最小。对于等精度观测值的直线拟合来说,可使下式的值最小:

最小二乘法拟合直线和椭圆_第1张图片

最小二乘法拟合直线和椭圆_第2张图片 

RANSAC算法拟合直线 

最小二乘法拟合直线和椭圆_第3张图片

 最小二乘法拟合直线和椭圆_第4张图片

最小二乘法拟合直线和椭圆_第5张图片 

 最小二乘法拟合直线和椭圆_第6张图片

最小二乘法拟合直线和椭圆_第7张图片 

 椭圆拟合

最小二乘法拟合椭圆

最小二乘法拟合直线和椭圆_第8张图片

 最小二乘法拟合直线和椭圆_第9张图片

opencv c++有对应的api

    //椭圆拟合 contours[i]为拟合的点集
    RotatedRect box = fitEllipse(contours[i]);
    //存储 椭圆 参数
    // 中心坐标  box.center
    std::cout << "中心" << box.center << endl;
    //长轴  短轴
    std::cout << "长轴" << box.size.height << endl;
    std::cout << "短轴" << box.size.width << endl;
    //角度
    std::cout << "角度" << box.angle<< endl;

 

你可能感兴趣的:(图像视频处理,最小二乘法,算法,人工智能)