使用最小二乘法将xld曲线拟合成直线

简介: 使用最小二乘法将xld曲线拟合成直线

halcon已经有算子fit_line_contour_xld


当然也可以自己实现:

* 先获得xld曲线上的点坐标
    get_contour_xld (ObjectSelected2, Row2, Col2)
    tuple_length (Row2, Length2)
    create_matrix (Length2, 1, Col2, MatrixID_y2) //y
    create_matrix (Length2, 2, 1, MatrixID_x2) //x
    set_value_matrix (MatrixID_x2, [0:Length2-1], gen_tuple_const(Length2, 0), Row2) //把X矩阵第一列换成MX的值
    mult_matrix (MatrixID_x2, MatrixID_x2, 'ATB', MatrixMultID_x2x2) //ATB=A的转置*B,实际上就是xT*x
    mult_matrix (MatrixID_x2, MatrixID_y2, 'ATB', MatrixMultID_x2y2) //xT*y
    invert_matrix (MatrixMultID_x2x2, 'general', 0, MatrixInvID_x2x2) //xTx的逆
    mult_matrix (MatrixInvID_x2x2, MatrixMultID_x2y2, 'AB', MatrixMultID_beta2) //xTx的逆 * xT*y ;就成了系数 β(a,b组成的矩阵)
    get_full_matrix (MatrixMultID_beta2, beta_Values2) //β的值,也就是a和b的值
    X20:=Row2[0]
    X2n:=Row2[Length2-1]
    Cols_2:=beta_Values2[0] * [X20,X2n] + beta_Values2[1]
    * 生成xld直线
    gen_contour_polygon_xld (Contour2, [X20,X2n], Cols_2)
    length_xld (Contour2, Length_Con2)
    * 计算距离 (原曲线到拟合直线)
    distance_pl (Row2, Col2, X20, Cols_2[0], X2n, Cols_2[1], Distance2_C2)


---


参考文献


http://ihalcon.com/read-17610.html


相关文章
|
计算机视觉
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
2074 0
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
Halcon中关于角度计算和测量拟合的算子详解
Halcon中关于角度计算和测量拟合的算子详解
2732 0
Halcon区域region的生成,使用点坐标
Halcon区域region的生成,使用点坐标
1418 0
这一篇让你彻底搞懂贝塞尔曲线
贝塞尔曲线不懂画?不知道怎么回事?看这一篇就够了!用图形,点曲线运动图和公式推导,让你彻底搞懂贝塞尔曲线的运行原理!
4865 0
这一篇让你彻底搞懂贝塞尔曲线
|
Shell 网络安全 开发工具
Qt实用技巧:QtCreator使用git(gitHub)管理项目代码笔记
Qt实用技巧:QtCreator使用git(gitHub)管理项目代码笔记
Qt实用技巧:QtCreator使用git(gitHub)管理项目代码笔记
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
3324 3
|
弹性计算 自然语言处理 Windows
通义灵码 Visual Studio 下载安装指南(附安装包)
本安装步骤适用于 Windows 10 及以上操作系统中安装和使用通义灵码。
4442 3
Qt之使用图片填充QLabel
Qt之使用图片填充QLabel
1504 1
Halcon极坐标转换,图文解说,含点坐标的转换
Halcon极坐标转换,图文解说,含点坐标的转换
1465 0
Halcon极坐标转换,图文解说,含点坐标的转换
|
Java C# C++
我个人总结的Halcon内存管理心得笔记,关于C#/C++内存释放
我个人总结的Halcon内存管理心得笔记,关于C#/C++内存释放
2865 0
我个人总结的Halcon内存管理心得笔记,关于C#/C++内存释放