matlab smooth原理,Matlab smooth函数原理

本文介绍如何将Matlab中的smooth函数应用于一维数组数据平滑,并转换为C++代码。通过实例展示了不同窗口宽度的效果,讨论了平滑处理的原理,以及在寻找数据突变点时的应用。同时还提供了具体的C++代码实现。
摘要由CSDN通过智能技术生成

由于项目上要用到平滑一维数组数据,参考Matlab  smooth函数转成c++代码

20200316210512732589.png

//x,g均为数组,具体内容略

plot(x,g);hold on,plot(x,smooth(g,50),‘r‘);

z1= (g1-smooth(g1,50)‘); figure,plot(x,z1,‘.-‘)

20200316210514292060.png

蓝色为平滑前,红色为平滑后

为了要找到缺陷,即灰度值突变很大地方,可以平滑前后相减,注意这里平滑窗宽尽量选大,选择原则是较小甚至不影响缺陷突变的地方

平滑前后相减

20200316210515054706.png

举例

例如g=[1 2 1 5 1 1 1 3 1 1 1]

smooth(g,5)‘

ans =

1.0000    1.3333    2.0000    2.0000    1.8000    2.2000    1.4000    1.4000   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值