最小二乘法拟合圆公式推导及其实现
1.1最小二乘拟合圆介绍与推导
最小二乘法(least squares analysis)是一种数学优化技术,它通过最小化误差的平方和找到一组数据的最佳函数匹配。最小二乘法是用最简的方法求得一些绝对不可知的真值,而令误差平方之和为最小来寻找一组数据的最佳匹配函数的计算方法,最小二乘法通常用于曲线拟合 (least squares fitting) 。最小二乘圆拟合方法是一种基于统计的检测方法,即便是图像中圆形目标受光照强度不均等因素的影响而产生边缘缺失,也不会影响圆心的定位和半径的检测,若边缘定位精确轮廓清晰,最小二乘法可实现亚像素级别的精确拟合定位。
这里有拟合圆曲线的公式推导过程和vc实现。
1.2VC实现的代码
void CViewActionImageTool::LeastSquaresFitting()
{if (m_nNum<3){return;}int i=0;double X1=0;double Y1=0;double X2=0;double Y2=0;double X3=0;double Y3=0;double X1Y1=0;double X1Y2=0;double X2Y1=0;for (i=0;i<m_nNum;i++){X1 = X1 + m_points[i].x;Y1 = Y1 + m_points[i].y;X2 = X2 + m_points[i].x*m_points[i].x;Y2 = Y2 + m_points[i].y*m_points[i].y;X3 = X3 + m_points[i].x*m_points[i].x*m_points[i].x;Y3 = Y3 + m_points[i].y*m_points[i].y*m_points[i].y;X1Y1 = X1Y1 + m_points[i].x*m_points[i].y;X1Y2 = X1Y2 + m_points[i].x*m_points[i].y*m_points[i].y;X2Y1 = X2Y1 + m_points[i].x*m_points[i].x*m_points[i].y;}double C,D,E,G,H,N;double a,b,c;N = m_nNum;C = N*X2 - X1*X1;D = N*X1Y1 - X1*Y1;E = N*X3 + N*X1Y2 - (X2+Y2)*X1;G = N*Y2 - Y1*Y1;H = N*X2Y1 + N*Y3 - (X2+Y2)*Y1;a = (H*D-E*G)/(C*G-D*D);b = (H*C-E*D)/(D*D-G*C);c = -(a*X1 + b*Y1 + X2 + Y2)/N;double A,B,R;A = a/(-2);B = b/(-2);R = sqrt(a*a+b*b-4*c)/2;m_fCenterX = A;m_fCenterY = B;m_fRadius = R;return;
}
最小二乘法拟合圆公式推导及其实现相关推荐
- 最小二乘法拟合圆公式推导及vc实现[r]
最小二乘法(least squares analysis)是一种 数学 优化 技术,它通过 最小化 误差 的平方和找到一组数据的最佳 函数 匹配. 最小二乘法是用最简的方法求得一些绝对不可知的真值,而 ...
- 最小二乘法拟合圆公式推导及vc实现
最小二乘法(least squares analysis)是一种 数学 优化 技术,它通过 最小化 误差 的平方和找到一组数据的最佳 函数 匹配. 最小二乘法是用最简的方法求得一些绝对不可知的真值,而 ...
- 最小二乘法拟合圆c语言,最小二乘法拟合圆公式推导及其实现
https://blog.csdn.net/Jacky_Ponder/article/details/70314919 1.1最小二乘拟合圆介绍与推导 最小二乘法(least squares anal ...
- c++椭圆最小二乘法原理_最小二乘法拟合圆公式推导及其实现
https://blog.csdn.net/Jacky_Ponder/article/details/70314919 1.1最小二乘拟合圆介绍与推导 最小二乘法(least squares anal ...
- python最小二乘法拟合圆_最小二乘法拟合圆
有一系列的数据点 {xi,yi}.我们知道这些数据点近似的落在一个圆上.依据这些数据预计这个圆的參数就是一个非常有意义的问题.今天就来讲讲怎样来做圆的拟合.圆拟合的方法有非常多种,最小二乘法属于比較简 ...
- python 拟合圆_最小二乘法拟合圆 转
有一系列的数据点 {xi,yi}{xi,yi},我们知道这些数据点近似的落在一个圆上,根据这些数据估计这个圆的参数就是一个很有意义的问题.今天就来讲讲如何来做圆的拟合.圆拟合的方法有很多种,最小二乘法 ...
- python最小二乘法拟合圆_最小二乘法拟合圆(示例代码)
有一系列的数据点 {xi,yi}.我们知道这些数据点近似的落在一个圆上.依据这些数据预计这个圆的參数就是一个非常有意义的问题.今天就来讲讲怎样来做圆的拟合.圆拟合的方法有非常多种,最小二乘法属于比較简 ...
- 圆检测——最小二乘法拟合圆的推导
http://blog.163.com/small_duan/blog/static/28584262200872340079/ 最小二乘法(least squares analysis)是一种 数学 ...
- 最小二乘法拟合圆心公式推导及基于opencv的程序实现
最小二乘法拟合圆心 文章为个人学习过程中笔记,原理部分参考其他作者内容,侵权必删 最小二乘法(least squares analysis)是一种数学优化技术,它通过最小化误差的平方和找到一组数据的最 ...
最新文章
- 【学习笔记】MHP-VOS: Multiple Hypotheses Propagation for Video Object Segmentation
- java for循环 暂停_类中的2个for循环不想在第一次迭代后迭代c [暂停]
- C/C++中调用api设置mysql连接的编码方式
- 北方人思想为什么落后_广西人为什么很少到北方打工?
- ls –l total 0_W3 Total Cache与WP Super Cache –打包中的哪一个领先?
- 【TSP】基于matlab遗传算法求解30城市旅行商问题【含Matlab源码 135期】
- JavaScript——事件,DOM,Browser Object Model 浏览器对象模型,电灯开关,HTML DOM,表单动态添加
- 转 Java工程师成神之路
- 金税三期工程第二阶段数据级灾备项目需求
- 计算机office高级应用都考啥,office高级应用考什么 评分标准是什么
- 了解BigDecimal常用坑,不迷路
- 当酒品牌遇上爱“微醺”的年轻人,会擦出怎样的火花?
- lisp 车位块自动编号_CAD exPRess tools 车位自动编号
- [总结]mac pro 提示“USB设备已停用”导致外接显示器黑屏
- python调研报告总结体会_调查报告的心得体会4篇
- 计算机存在其他连接设备错误,USB设备连接电脑失败怎么办
- 加拿大FBA海运详细说明
- Docker - 重新启动关闭的容器
- 多线程的几种实现方式
- 数据结构与算法(系列文章一)
热门文章
- 用C语言判断五子棋,c语言 五子棋危险判断 求大神解释啊
- redis系列之哨兵模式
- pha-1 android,音质提升一劳永逸 体验索尼PHA-1耳放解码一体机
- 为什么不建议你用去 “! = null” 做判空?
- Cadence OrCAD Capture打开.bxl封装文件的方法图文教程
- 祝愿所有兄弟姐妹们新春身体健康,阖家欢乐
- ANN原来如此简单!——用Excel实现的MNIST手写数字识别(之三)
- ThreadPoolExecutor参数说明
- python调用阿里云sdk
- H3C 不同版本登录认证配置