道格拉斯-普克算法的算法的详细步骤
(1) 在曲线首尾两点间虚连一条直线,求出其余各点到该直线的距离,如右图(1)。(2)选其最大者与阈值相比较,若大于阈值,则离该直线距离最大的点保留,否则将直线两端点间各点全部舍去,如右图(2),第4点保留。(3)依据所保留的点,将已知曲线分成两部分处理,重复第1、2步操作,迭代操作,...
道格拉斯-普克算法的java的实现代码如下
packagecom.mapbar.jts;\/***ClassPoint.java*\/publicclassPoint{\/***点的X坐标*\/privatedoublex=0;\/***点的Y坐标*\/privatedoubley=0;\/***点所属的曲线的索引*\/privateintindex=0;publicdoublegetX() {returnx;}publicvoidsetX(doublex) {this.x=x;}publicdoublegetY() {returny;}publicvoid...
DP算法——道格拉斯-普克 Douglas-Peuker
算法步骤:连接起始与结束点,找出最大阈值点。将曲线分割为两段,对每段重复步骤1,找出最大阈值点。重复步骤2直至所有最大阈值点被识别,然后将这些点按顺序连接,形成简化曲线。在opencv中,轮廓近似功能利用道格拉斯-普克算法实现曲线简化。
道格拉斯-普克算法的介绍
道格拉斯-普克算法1(Douglas–Peucker algorithm,亦称为拉默-道格拉斯-普克算法、迭代适应点算法、分裂与合并算法)是将曲线近似表示为一系列点,并减少点的数量的一种算法。它的优点是具有平移和旋转不变性,给定曲线与阈值后,抽样结果一定。