matlab怎么用中值滤波来处理一个意味数组

 我来答
枯木葳蕤
2011-05-13 · TA获得超过912个赞
知道小有建树答主
回答量:420
采纳率:0%
帮助的人:393万
展开全部
%给你个程序参考,中值滤波效果不一定好,你可以依据你的数据进行改进:
clc;clf
clear all
%载入数据 test1.mat 数据文件
load('test1'); % 也可以直接定义: test=[1 2 ……]

% test1 数组长度
n1=size(test1,1);
x1=1:n1;
test1=test1(x1);

figure(1)
plot(x1,test1,'b-')
title('test1的原始数据图')

%中值滤波法滤除噪声
figure(2)
w=7; %取窗口值为7,可自己设置其它的值试试看效果
for i=1:n1-w
v=i:i+w-1;%取滑动窗口的元素向量
%将窗口中元素排序
qr=sort(test1(v));
%取排序后的中间元素
me=qr(fix(w/2)+1);
end

%画图
plot(x1,test1)
title('test1的滤波后数据图')

%设置图形的轴限,观察后设置的,便于对比
axis([0,100,0,100])
追问
你能不能帮我处理一下这个数据啊?就用中值滤波的方法。帮帮忙吧。麻烦了
来自:求助得到的回答
snowworld2008
2011-05-12 · TA获得超过296个赞
知道小有建树答主
回答量:101
采纳率:0%
帮助的人:96.5万
展开全部
b=medfilt2(a,[m,n]);
b是中值滤波后的图象矩阵,a是原图矩阵,m和n是处理模版大小,默认3×3。
追问
不是处理图像,我想处理一个数组。纯数字的。。谢谢
追答
一样的, 严格的说灰度图像就是一个二维数组
把[m,n]改成你的模板的大小,一维就该为[1,n]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式