怎么利用Matlab实现迭代适应点算法
发表于:2024-10-01 作者:千家信息网编辑
千家信息网最后更新 2024年10月01日,本篇内容主要讲解"怎么利用Matlab实现迭代适应点算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么利用Matlab实现迭代适应点算法"吧!道格拉斯
千家信息网最后更新 2024年10月01日怎么利用Matlab实现迭代适应点算法
本篇内容主要讲解"怎么利用Matlab实现迭代适应点算法",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么利用Matlab实现迭代适应点算法"吧!
道格拉斯-普克算法(Douglas–Peucker algorithm,亦称为拉默-道格拉斯-普克算法、迭代适应点算法、分裂与合并算法)是将曲线近似表示为一系列点,并减少点的数量的一种算法。它的优点是具有平移和旋转不变性,给定曲线与阈值后,抽样结果一定。
1.算法描述
1.在曲线首尾两点间虚连一条直线,求出其余各点到该直线的距离。
2.选其最大者与阈值相比较,若大于阈值,则离该直线距离最大的点保留,否则将直线两端点间各点全部舍去。
3.依据所保留的点,将已知曲线分成两部分处理,重复第1、2步操作,迭代操作,即仍选距离最大者与阈值比较,依次取舍,直到无点可舍去,最后得到满足给定精度限差的曲线点坐标。
Long Time Later
2.工具函数
为了代码简单易理解,这里使用了二分迭代,含详细注释代码如下(代码片可左右滑动)。
function nPntSet=dp(pntSet,TH)% @author : slandarer% pntSet : 二维数据点% TH : 距离阈值% 向量运算:计算所有点到首位两点连线距离vertV=[pntSet(end,2)-pntSet(1,2),-pntSet(end,1)+pntSet(1,1)];baseL=abs(sum((pntSet-pntSet(1,:)).*vertV./norm(vertV),2));if max(baseL)3.函数调用
给个demo:
% 构造一组数据X=linspace(0,25,10)';Y=randi([0,10],[10,1]);pntSet=[X,Y];% 阈值为2的dp算法nPntSet=dp(pntSet,2);% 坐标区域修饰hold ongrid onax=gca;ax.YLim=[0,10];ax.DataAspectRatio=[1,1,1];ax.Color=[1,1,1];ax.XColor=[1,1,1].*.3;ax.YColor=[1,1,1].*.3;ax.LineWidth=1.5;ax.FontName='cambria';ax.GridLineStyle='--';% 绘制原始数据曲线plot(pntSet(:,1),pntSet(:,2),'Color',[0 0.4470 0.7410],'LineWidth',2,'Marker','*');% 绘制新数据曲线plot(nPntSet(:,1),nPntSet(:,2),'Color',[0.6350 0.0780 0.1840 .7],'LineWidth',2,'Marker','s');legend('original-curve','feature-curve')4.优势与不足
对比与垂距法(Matlab利用垂距法实现提取离散坐标数据特征点),道格拉斯-普克算法(dp)不会出现下面这种情况,即虽然每次变化都不大,但是连着好几次相同方向变化导致某些特征不会被提取出来:
但比较让人头疼的是,阈值需要自己选取,以下是不同阈值时对比图像:
到此,相信大家对"怎么利用Matlab实现迭代适应点算法"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
算法 阈值 曲线 迭代 数据 直线 最大 代码 坐标 拉斯 普克 道格 道格拉斯 内容 函数 最大者 点到 特征 首尾 变化 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 南京专业软件开发特点 账户数据库密码忘了 弥勒高密度存储服务器代理 冀州区网络安全委员会 伊宁塔式服务器维保电话 审计现场 网络安全 超星电子数据库 眉山网络技术费用 为什么金铲铲之战服务器维护 结合网络安全工作论述自己贡献 网页和数据库连接 bs架构应用软件开发管理 应用软件开发含义 湖北良好软件开发品质保障 软件开发和定制化的区别 服务器怎么查询创始人密码 数据库图表分析 服务器主机端口 我的世界服务器速通挑战 电厂sis网络安全 南京专业软件开发特点 github 代理服务器 内陆代理服务器 独立服务器跑脚本 王者服务器繁忙加不了好友 软件开发专业体会心得 mysql的系统数据库 互联网科技创新的故事 我的世界服务器怎么建仓库 盛泰网络技术有限公司简介相关文章