一维中值、均值、高斯滤波的MATLBA实现

这篇博客介绍了如何在MATLAB中实现一维图像处理的三种滤波方法:中值滤波、均值滤波和高斯滤波。通过代码展示了一维滤波的过程,并提及高斯滤波的一维模板可以通过fspecial('gaussian', [1 n], sigma)函数生成,其中当标准差sigma固定时,对于n大于等于某一值N,模板将保持不变。" 123314835,10573694,OpenCV中的线性滤波:均值、方框与高斯滤波,"['计算机视觉', '图像处理', 'OpenCV', '滤波算法', '噪声去除']
📄 AI 智能文档扫描仪 -

📄 AI 智能文档扫描仪 -

图片编辑
Python
PyTorch

基于OpenCV透视变换算法,提供文档自动扫描与矫正服务,支持边缘检测、歪斜拉直及去阴影增强,集成WebUI,纯算法零依赖版

中值滤波的代码:

x=0:2047;
a=load('data.txt');  %运行时data.txt文件要放到当前目录(current directory)中
n=5; % n为模板长度,值可以改变
y = medfilt1(a,n);
figure;
subplot(1,2,1);plot(x,a);
xlabel('中值滤波前的序列');
subplot(1,2,2);plot(x,y);
xlabel('中值滤波后的序列');

 

均值滤波的代码:

x=0:2047;
a=load('data.txt');   %运行时data.txt文件要放到当前目录(current directory)中
n=5; % n为模板长度,值可以改变
mean = ones(1,n)./n;  %mean为1×n的模板,各数组元素的值均为1/n
y = conv(a,mean);
y=y(1:length(y)-length(mean)+1);
figure;
subplot(1,2,1);plot(x,a);
xlabel('均值滤波前的序列');
subplot(1,2,2);plot(x,y);
xlabel('均值滤波后的序列');

 

高斯滤波的代码:

x=0:2047;
a=load('data.txt');  %运行时data.txt文件要放到当前目录(current directory)中
gau=[0.0009 0.0175 0.1295 0.3521 0.3521 0.1295 0.0175 0.0009];%标准差为1时的高斯函数一维模板,如果标准差不为1,则要修改模板
y=conv(a,gau);
y=y(1:length(y)-length(gau)+1);
figure;
subplot(1,2,1);plot(x,a);
xlabel('高斯滤波前的序列');
subplot(1,2,2);plot(x,y);
xlabel('高斯滤波后的序列');


高斯函数的一维模板可以由这个函数得到:fspecial('gaussian', [1 n], sigma)。当标准差sigma是某一固定数字时,存在一个N,对于任意的n>=N,模板都一样,例如:

sigma=1时,gau=[0.0009 0.0175 0.1295 0.3521 0.3521 0.1295 0.0175 0.0009]
sigma=0.5时,gau=[0.0090,0.4910,0.4910,0.0090]

您可能感兴趣的与本文相关的镜像

📄 AI 智能文档扫描仪 -

📄 AI 智能文档扫描仪 -

图片编辑
Python
PyTorch

基于OpenCV透视变换算法,提供文档自动扫描与矫正服务,支持边缘检测、歪斜拉直及去阴影增强,集成WebUI,纯算法零依赖版

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值