我的Qt作品(7)使用Qt+OpenCV实现图像轮廓提取,再用三阶贝塞尔曲线拟合成光滑线条/多边形拟合

您所在的位置:网站首页 图像轮廓提取与曲线拟合 我的Qt作品(7)使用Qt+OpenCV实现图像轮廓提取,再用三阶贝塞尔曲线拟合成光滑线条/多边形拟合

我的Qt作品(7)使用Qt+OpenCV实现图像轮廓提取,再用三阶贝塞尔曲线拟合成光滑线条/多边形拟合

#我的Qt作品(7)使用Qt+OpenCV实现图像轮廓提取,再用三阶贝塞尔曲线拟合成光滑线条/多边形拟合| 来源: 网络整理| 查看: 265

一、贝塞尔曲线基础知识

给一系列顶点,如果只是用直线将其中的各个点依次连接起来,最终形成一个折线图,这种很容易实现。但是现实中事物的变化往往具有连续的特性,即使是给定了一系列离散的点,基于以往的生活经验,人们也更愿意接受那种曲线连接的图。

计算机图形学中有一类很常用的曲线,俗称贝塞尔曲线。1962年,法国数学家Pierre Bézier第一个研究了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就用他的姓氏来命名是为贝塞尔曲线。很多程序语言都有实现贝塞尔曲线的API,而该曲线本身也拥有强大的近似其它曲线的能力,即使一条不能够胜任,那么分段的多条贝塞尔曲线也足够用来近似我们想绘制的曲线。

三阶贝塞尔曲线:

三阶贝塞尔曲线可以用一个三次函数描述,最多拥有两个拐点。用来做两点之间的曲线连接已经够用了。我们来看下它的直观形式:

二、我的软件截图

三、Qt贝塞尔绘制曲线的实现

《使用贝塞尔曲线绘制多点连接曲线》

使用贝塞尔曲线绘制多点连接曲线 - 简书

QT画贝塞尔曲线

QT画贝塞尔曲线_Ryugu的博客-CSDN博客_qt 贝塞尔曲线

用贝塞尔曲线片段拟合点阵图中的曲线

GitHub - Hzhiwei/CurveFit: 用贝塞尔曲线片段拟合点阵图中的曲线

四、扩展知识之多边形拟合

1、approxPolyDP

OpenCV findContours后的轮廓信息contours可能过于复杂不平滑,可以用approxPolyDP函数对该多边形曲线做适当近似。approxPolyDP,它的主要功能是把一个连续光滑曲线折线化,对图像轮廓点进行多边形拟合。

原理图:对比之前黑点连线,之后蓝色连线:

void approxPolyDP(InputArray curve, OutputArray approxCurve, double epsilon, bool closed) 参数详解; InputArray curve:一般是由图像的轮廓点组成的点集 OutputArray approxCurve:表示输出的多边形点集 double epsilon:就是各个轮廓点之间最大距离数,这个参数表示的是精度,越小精度越高,因为表示的意思是是原始曲线与近似曲线之间的最大距离 bool closed:表示输出的多边形是否封闭 https://blog.csdn.net/qq_30815237/article/details/86901728

2、Douglas-Peucker Algorithm

在数字化时,要对曲线进行采样,即在曲线上取有限个点,将其变为折线,并且能够在一定程度

上保持原有的形状。

经典的Douglas-Peucker算法步骤如下(如下图):

(1)在曲线首尾两点A,B之间连接一条直线AB,该直线为曲线的弦;

(2)得到曲线上离该直线段距离最大的点C,计算其与AB的距离d;

(3)比较该距离与预先给定的阈值threshold的大小,如果小于threshold,则该直线段作为曲线的近似,该段曲线处理完毕。

(4)如果距离大于阈值,则用C将曲线分为两段AC和BC,并分别对两段取信进行1~3的处理。

(5)当所有曲线都处理完毕时,依次连接各个分割点形成的折线,即可以作为曲线的近似。

为了考虑时间范围,还有另一种算法称为改良的Douglas-Peucker(TD-TR)。 TD-TR方法使用DP算法,而且还要考虑时间。 特别是,它用时间感知的同步欧氏距离(SED)代替了DP中使用的欧氏距离。

3、Douglas-Peucker C++算法实现

轨迹压缩之Douglas-Peucker算法之C++实现 - 逸阳 - 博客园

轨迹数据压缩算法-经典Douglas-Peucker算法 c++实现_风去幽墨的博客-CSDN博客_轨迹压缩算法

Douglas-PeuckerVC++算法实现-C++代码类资源-CSDN下载

五、引申阅读

OpenCV库的拟合算子 approxPolyDP

Halcon库的拟合算子 gen_contour_nurbs_xld

Opencascade库的拟合算子 Geom2dAPI_PointsToBSpline



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3