opencv-python 中直线拟合函数cv.fitLine()的2D直线拟合(适合小白观看)
在提取指静脉的过程中,我们需要提取有用的ROI区域。而这时候,我们会采取将手指两边中点拟合成一条直线,求得这个直线的直线方程,然后得到旋转的角度,以便对原来的图像进行旋转操作。当我们知道如何取得手指的边缘中点后,直接用fitLine函数可以方便的按我们想要的方式得到期望 的直线。
首先是官方文档上的函数原型:
然后我会通过实例来解释每一个参数的意义,代码十分简单:
import cv2 as cv
import numpy as nptest =[(1,2),(2,4),(3,6)]
nptest=np.array(test)
line =cv.fitLine(nptest,cv.DIST_L2,0,0.01,0.01)
这里的line就是我们的结果了
line的形式是[[cos a],[sin a],[point_x],[point_y]],前面两项是有关直线与Y正半轴(这里指的是屏幕坐标系)夹角a的三角函数,后面两项就是所得拟合直线上的一点的横纵坐标。我们知道一个直线的倾斜角度和它经过的一个点后就可以唯一确定一条直线。
参数列表解释:
points :必须是nparray类型的点集(一般的数列直接报错噢),里面是你想拟合点的坐标
distType:有很多种,就是有关距离的定义,我们直接用的是最快最简单的L2距离,就是我们常用的最小二乘法。
param:这是一些距离计算类型(distType)中用到的参数,我们这里用的是L2距离,直接写0.实际上,写0的话,系统会自动给你用最优的参数。
reps和aeps:用于表示拟合直线所需要的径向和角度精度,通常情况下两个值均被设定为0.01。
初期对这个函数了解到这么多就足够我们使用啦
opencv-python 中直线拟合函数cv.fitLine()的2D直线拟合(适合小白观看)相关推荐
- opencv python 中cv2.putText()函数的用法
opencv python 中cv2.putText()函数的用法 文章目录: 一.快速使用 二.官方文档 三.使用举例 虽然用啦很多次,还是决定记录一下 一.快速使用 cv2.putText(ima ...
- Python 中各种imread函数的区别与联系
Python 中各种imread函数的区别与联系 最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误.如 ...
- python中imread用法_【转载】Python 中各种imread函数的区别与联系
Python 中各种imread函数的区别与联系 最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误.如 ...
- python中的pop()函数和popleft()函数
python中的pop()函数和popleft()函数 首先对于pop而言,它是用于stack中的: stack = [1, 2, 3, 4] print(stack) stack.append(6) ...
- python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict)
python中使用zip函数基于两个列表数据list创建字典dict数据(Create a dictionary by passing the output of zip to dict) 目录
- python中add函数_如何使用python中的add函数?
之前向大家介绍过python中的求和函数sum函数,numpy中的sum函数,对于数组可以指定维度进行相加.numpy中还有另一种求和运算方法,即add函数.add函数不仅作用于numpy中加法运算, ...
- python 2: 解决python中的plot函数的图例legend不能显示中文问题
python 2: 解决python中的plot函数的图例legend不能显示中文问题 参考文章: (1)python 2: 解决python中的plot函数的图例legend不能显示中文问题 (2) ...
- python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法
0.摘要 我们将一个list传入函数后,函数内部对实参修改后,形参也会随之改变.本文将主要介绍这种错误的现象.原因和解决方法. 1.代码示例 def fun(inner_lst): inner_lst ...
- Python中的map()函数和reduce()函数的用法
Python中的map()函数和reduce()函数的用法 这篇文章主要介绍了Python中的map()函数和reduce()函数的用法,代码基于Python2.x版本,需要的朋友可以参考下
最新文章
- java与工业相机,OpenCV软件与工业相机的组合在机器视觉中的应用
- Oracle Dataguard HA (主备,灾备)方案部署调试
- RetinaFace笔记
- linux数据污点标记,Taints和Tolerations(污点和容忍)
- 【快乐水题】677. 键值映射
- 九十、动态规划系列背包问题之多重背包
- 针对双系统ubuntu16.04卡死及系统没有声音解决方法
- C#使用Redis集群缓存
- JS之数据类型v(** v**)v个人笔记
- twig php代碼,有没有办法在wordpress的.twig文件中编写php代码?我试图使用.twig模板文件中的表单值发送邮件...
- 28. Implement strStr()
- STM32H743 SOEM EtherCAT基于STM32H743芯片和SOEM的EtherCAT主站源码 提供配套CUBE工程
- kali linux捉肉鸡教程,使用Kali中的Metasploit生成木马控制Windows系统
- Oracle 11g 服务器结构
- Spark worker内存不足导致任务失败,报错Likely due to containers exceeding thresholds, or network issues
- PCA与2DPCA及2D-2DPCA零基础理解(上)
- On-Demand Resources Guide中文版(按需加载资源--下)
- python3 打字小游戏
- 3ds_max入门教程
- Linux 开发环境工具