20.java openCV4.x 入门-Imgproc之点集拟合

本文详细介绍了OpenCV库中的Imgproc模块,包括如何使用fitLine()函数拟合直线,以及fitEllipse()和fitEllipseDirect()函数分别进行最佳拟合和最小面积拟合椭圆的方法。涉及的距离度量有DIST_L1、DIST_L2、DIST_L12、DIST_FAIR、DIST_WELSCH和DIST_HUBER。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

专栏简介

💒个人主页
📖心灵鸡汤📖

我们唯一拥有的就是今天,唯一能把握的也是今天


建议把本文当作笔记来看,据说专栏目录里面有相应视频🤫
📰专栏目录

一、拟合直线

1.字段

列举部分,更多请查看官方文档。

DIST_L1 这是L1距离度量。它计算两点之间的绝对差值之和
DIST_L12 这是加权L1距离度量。它结合了L1和L2距离的特性
DIST_L2 这是欧几里得距离,也就是L2距离度量。它计算两点之间的平方差之和的平方根

2.方法说明

1.拟合给定点集的直线

fitLine(Mat points, Mat line, int distType, double param, double reps, double aeps)
参数:
points 输入的2D或3D点向量
line 输出参数,表示拟合得到的直线的参数。在2D拟合的情况下,它应该是一个4个元素的向量(如Vec4f) - (vx,vy,x0,y0),其中(vx,vy)是与直线共线的归一化向量,(x0,y0)是直线上的点。在3D拟合的情况下,它应该是一个6个元素的向量(如Vec6f) - (vx,vy,vz,x0,y0,z0),其中(vx,vy,vz)是与直线共线的归一化向量,(x0,y0,z0)是直线上的点
distType 距离度量方式,用于M估计。参见DIST_*
param 可选参数,对于某些距离类型,它表示数值参数C。如果为0,则选择最优值
reps 足够精度下的半径(坐标原点到直线的距离)
aeps 对于角度的足够精度。对于reps和aeps,0.01是一个不错的默认值

拟合给定点集的直线,该函数通过最小化
∑ i ρ ( r i ) \sum_i \rho(r_i) iρ(ri)
来拟合一条直线到2D或3D点集,其中
r i 是第 i t h 个点到线和 ρ ( r ) 的距离函数 , r_i 是第 i^{th}个点到线和 \rho(r) 的距离函数, ri是第ith个点到线和ρ(r)的距离函数,
可以是以下之一:

DIST_L2
ρ ( r ) = r 2 / 2 (最简单且最快的最小二乘法方法) \rho (r) = r^2/2 \quad \text{(最简单且最快的最小二乘法方法)} ρ(r)=r2/2(最简单且最快的最小二乘法方法)
DIST_L1
ρ ( r ) = r \rho (r) = r ρ(r)=r
DIST_L12
ρ ( r ) = 2 ⋅ ( 1 + r 2 2 − 1 ) \rho (r) = 2 \cdot ( \sqrt{1 + \frac{r^2}{2}} - 1) ρ(r)=2(1+2r2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不要喷香水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值