Code Bye

请问各位,有没有拟合圆的较好的方法和代码,先谢了

 

RT

10分
不会 帮顶
5分
不知道的知识
5分
up~
5分
网上找找吧
我找了,可是没有好的方法和代码啊??????????????
10分
我不会。是来帮顶的.希望你可以找到好的解决办法
谢谢,非常的感谢
请问 谁会啊?
10分
??为啥要拟合圆,gdi+本身就可以画圆,难道你准备算π值

如果非要拟合,也没啥问题,给个参数方程(圆的参数方程,不用我多说了把高中内容)
然后改变角度值,得到一系列的点,把填到这些点gdi+的path路径里就成

引用 9 楼 wanghui0380 的回复:

??为啥要拟合圆,gdi+本身就可以画圆,难道你准备算π值

如果非要拟合,也没啥问题,给个参数方程(圆的参数方程,不用我多说了把高中内容)
然后改变角度值,得到一系列的点,把填到这些点gdi+的path路径里就成

楼上误解了,我的意思是一系列点,求近似圆,不过感谢回复

10分
引用 10 楼 corn8888 的回复:

楼上误解了,我的意思是一系列点,求近似圆,不过感谢回复

如果是这样,直接使用最小二乘法拟合就可以了

10分
最小二乘法拟合曲线例子
http://www.codeproject.com/KB/recipes/QuadraticRegression.aspx
感谢回复,用用最小二乘法导出的公式,好像没法求解,不知对错?楼上能不能讲解一下?
10分
霍夫变换(Hough)。其实思想很简单:在一定范围内遍历圆的参数(如果是圆心、半径参数的话,就是三个参数),计算在哪个参数下经过的点最多。优点:抗噪,同样的思想可以检测多个圆。缺点:计算复杂度较高,不过可以优化,如用查找表等思想。该算法在图像处理中用于检测可以有参数方程描述的图形,如直线,园,椭圆等。
10分
霍夫变换程序的优化思想主要有:查找表(如一些需要重复计算的值,可以一次性先计算完存储到数组中,待使用时从数组中访问),浮点运算通过一些技巧转换为整数运算,循环次数层数的优化等。
霍夫变换 计算量有点大………….
10分
拟合的方法计算量小,但是很容易受到噪声的影响。用拟合迭代(每次拟合时选择与上一次迭代较近的点再次拟合)是否可以?计算量高了,结果准确了。楼主可以试试看呀,在准确性和计算量之间可能要有所取舍了。另外拟合方法只能得到一个圆。霍夫变换倒是可以得到多个圆。
引用 17 楼 swimmingfish2004 的回复:

拟合的方法计算量小,但是很容易受到噪声的影响。用拟合迭代(每次拟合时选择与上一次迭代较近的点再次拟合)是否可以?计算量高了,结果准确了。楼主可以试试看呀,在准确性和计算量之间可能要有所取舍了。另外拟合方法只能得到一个圆。霍夫变换倒是可以得到多个圆。

非常非常感谢楼上的回复

有噪声没关系,拟合出的圆可以包括噪声

我只需拟合出一个圆就可以

顶   学习中
引用 12 楼 wanghui0380 的回复:

最小二乘法拟合曲线例子
http://www.codeproject.com/KB/recipes/QuadraticRegression.aspx

好像不能拟合圆

5分
试看看这个图形引擎吧:
AGE, Another Graphic Engine in .NET

源代码下载,需要先注册用户

其实你最好解释下什么叫“拟合圆”
大家都不怎么知道 也不好解答了
日经贴
Another Graphic Engine

好像是一个绘图引擎吧

up up up
???????????????
这个关键在点 
看你怎么采样的 算出采样点的位置
然后将相邻点 画很短的线段 拼起来
up up up
建议楼主用matlab试试
只求分数  接接接~~
不懂,帮顶!
用RANSAC (Random Sample Consensus)和LMedS (Least Median of Squares),鲁棒性都比较好
最小二乘法或者hough变换都可以拟合圆的

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请问各位,有没有拟合圆的较好的方法和代码,先谢了