下图是OpenCV官方文档中,对直线拟合函数的详细介绍:

fitLine()函数用于,对二维或三维空间中的点集进行直线拟合。共有六个参数:

param 1:输入的点集,可以是Mat或者vector<>,可以是二维点集或三维点集。

例如:

vector<Point> points;

param 2:拟合结果,即一条直线。在二维空间中,直线可以定义为

Vec4f line;

在二维平面中,(line[0],line[1])表示直线的方向向量,(line[2],line[3])表示直线上的一个点。

param 3:拟合算法,CV_DIST_L2为最简单快速的最小二乘法,推荐使用。

定义在源文件中的枚举类型:

 1 //! Distance types for Distance Transform and M-estimators
 2 enum { DIST_USER = -1, // User defined distance
 3 DIST_L1 = 1, // distance = |x1-x2| + |y1-y2|
 4 DIST_L2 = 2, // the simple euclidean distance
 5 DIST_C = 3, // distance = max(|x1-x2|,|y1-y2|)
 6 DIST_L12 = 4, // L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1))
 7 DIST_FAIR = 5, // distance = c^2(|x|/c-log(1+|x|/c)), c = 1.3998
 8 DIST_WELSCH = 6, // distance = c^2/2(1-exp(-(x/c)^2)), c = 2.9846
 9 DIST_HUBER = 7 // distance = |x|<c ? x^2/2 : c(|x|-c/2), c=1.345
10 };

View Code

官方文档中介绍,这里使用的拟合算法是M-estimator方法。

param 4: 拟合算法中参数C的值,设为0,则自动选用最优值。

param 5 & param 6: 官方推荐使用0.01。

转载于:https://www.cnblogs.com/TongWee/p/4830587.html

OpenCV fitline直线拟合函数学习相关推荐

  1. 关于opencv fitLine直线拟合得斜率及截距

    函数接口:C++: void fitLine(InputArray points, OutputArray line, int distType, double param, double reps, ...

  2. opencv之fitline直线拟合

    fitline拟合函数: CV_EXPORTS_W void fitLine( InputArray points, //待输入点集 OutputArray line, //输出点集(一个是方向向量, ...

  3. opencv+hough直线检测+fitline直线拟合

    #include <iostream> #include <opencv2/highgui/highgui.hpp> #include <opencv2/core/cor ...

  4. FitLine+直线拟合+C++

    做毕业论文中我用Opencv中的void cvFitLine( const CvArr* points, int dist_type, double param, double reps, doubl ...

  5. opencv-python 中直线拟合函数cv.fitLine()的2D直线拟合(适合小白观看)

    在提取指静脉的过程中,我们需要提取有用的ROI区域.而这时候,我们会采取将手指两边中点拟合成一条直线,求得这个直线的直线方程,然后得到旋转的角度,以便对原来的图像进行旋转操作.当我们知道如何取得手指的 ...

  6. OpenCV 学习(直线拟合)

    Hough 变换可以提取图像中的直线.但是提取的直线的精度不高.而很多场合下,我们需要精确的估计直线的参数,这时就需要进行直线拟合. 直线拟合的方法很多,比如一元线性回归就是一种最简单的直线拟合方法. ...

  7. 【OpenCV】56 二值图像分析–直线拟合与极值点寻找

    56 二值图像分析–直线拟合与极值点寻找 代码 import cv2 as cv import numpy as npdef canny_demo(image):t = 80canny_output ...

  8. OpenCV 直线拟合及应用

    直线拟合顾名思义就是根据多个有限个数的点确定一条直线.依据为: 其中为第i个点到直线的距离,p(d)则为确定最小值的函数.而不同的p(d)对应着不同的直线拟合方法: OpenCV提供了7种(-1为用户 ...

  9. Python04 直线拟合 多项式曲线拟合 指数曲线拟合(附代码)

    1. 实验结果 (1)在定义的类中设置已知的函数值列表为: (2)在 test.py 中选择直线拟合: 输出:拟合的直线函数及图像: (3)选择多项式曲线拟合: 输入:多项式拟合函数的次数: 输出:拟 ...

最新文章

  1. Qt嵌入外部EXE程序,并显示在主界面中!
  2. Epoch不仅过时,而且有害?Reddit机器学习板块展开讨论
  3. 写 Python 代码不可不知的函数式编程技术
  4. php与nginx之间的通信
  5. 算法竞赛入门经典读书笔记(二)7.1简单枚举
  6. Nginx-Nginx配置文件详细说明
  7. 《幸福就在你身边》第七课、工作着,快乐着【哈佛大学幸福课精华】
  8. 这五部关于海洋的纪录片,每一帧都犹如壁纸!
  9. C++之指针探究(七):void指针、空指针、野指针、各种零所代表的含义
  10. DCMTK3.6.0(MD支持库)安装说明
  11. 分享:Python中的位运算符
  12. 男孩子一定要注意保护自己!
  13. day9--Matplotlib--折线图
  14. 通过共享文件夹来进行前后端独立开发
  15. 高通QCA9377 WiFi蓝牙模块芯片介绍
  16. 数据结构课程设计(学生选课管理系统)链表实现
  17. gin框架使用JWT鉴定权限
  18. 7-139 手机话费
  19. 通过uc_client接口方式,更新discuz会员头像
  20. 程序员,别太把技术入股当做一回事

热门文章

  1. C语言常见问题(10):Sections of code should not be commented out
  2. 王厚祥谈《古诗四帖》基本笔画的书写方法
  3. 写给产品经理的第4封信:关于产品经理的十万个为什么?你为什么要做产品经理?
  4. 神经管理学告诉你:学了管理学就能运筹帷幄吗?
  5. 将word 转换为图片(word to pdf ->pdf to image)
  6. Linux:chmod -R 777 * 是什么意思?
  7. Unreal - Environment Query System(EQS)
  8. Kaggle教程 机器学习中级3 分类变量
  9. 根据硬件ID查看摄像头型号方案,可查任何一款摄像头芯片来源
  10. 寒假每日一题 2 : 干草堆 java