当前位置:首页 > 编程笔记 > 正文
已解决

OpenCV之直线曲线拟合

来自网友在路上 177877提问 提问时间:2023-09-27 02:46:59阅读次数: 77

最佳答案 问答题库778位专家为你答疑解惑

直线拟合fitLine

void fitLine( InputArray points, OutputArray line, int distType,double param, double reps, double aeps );

points:二维点的数组或vector

line:输出直线,Vec4f (2d)或Vec6f (3d)的vector

distType:距离类型

param:距离参数

reps:径向的精度参数

aeps:角度精度参数

距离类型可取以下值:

 椭圆拟合fitEllipse

RotatedRect fitEllipse( InputArray points );

points:二维点集,要求拟合的点至少为6个点。存储在std::vector<>或者Mat

输出:RotatedRect 类型的矩形,是拟合出椭圆的最小外接矩形。

该函数使用的是最小二乘的方法进行拟合的。

多边形拟合approxPolyDP

void approxPolyDP( InputArray curve,OutputArray approxCurve,double epsilon, bool closed);

curve:输入的点集
approxCurve:输出的点集,当前点集是能最小包容指定点集的。画出来即是一个多边形。
epsilon:指定的精度,也即是原始曲线与近似曲线之间的最大距离。
closed:若为true,则说明近似曲线是闭合的;反之,若为false,则断开。

该函数采用是道格拉斯-普克算法(Douglas-Peucker)来实现。

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"OpenCV之直线曲线拟合":http://eshow365.cn/6-14344-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!