我要用中值滤波去除椒盐噪声,Matlab显示Error: Missing variable or function.是什么问题?

clear;clc;[image,map]=imread('lena.bmp');result=media_filter(image,3);imshow(result);... clear;
clc;
[image,map]=imread('lena.bmp');
result=media_filter(image,3);
imshow(result);
imwrite(result,'media_filter.bmp');
%%function
function d=media_filter(image,m)
n=m;
[height,width]=size(image);
x1=double(image);
x2=x1;
for i=1:height-n+1
for j=1:width-n+1
A=x1(i:(i+n-1),j:(j+n-1));
B=sort(A);
C=sort(B);
x2(i+(n-1)/2,j+(n-1)/2=C((n+1)/2,(n+1)/2);
end
end
d=uint8(x2);
展开
 我来答
jimtien
2015-01-11 · TA获得超过7654个赞
知道大有可为答主
回答量:2146
采纳率:88%
帮助的人:1122万
展开全部
function ex2
clear;clc;
[image,map]=imread('lena.bmp');
%加胡椒盐噪声 
I = imnoise(image,'salt & pepper', 0.02);
subplot(121); imshow(I);
%中值滤波 
result=media_filter(I,3);
subplot(122); imshow(result);
%imwrite(result,'media_filter.bmp');
end

%中值滤波
function d=media_filter(image,m)
n=m;
[height,width]=size(image);
x1=double(image);
x2=x1;
for i=1:height-n 
    for j=1:width-n
         A = x1(i:(i+n-1),j:(j+n-1));   
         B = sort(reshape(A,1,n*n));
         c = B(1+fix(n*n/2));
         x2(i,j) = c;
    end
end
d=uint8(x2);
end

 

更多追问追答
追问
请问,我的问题错误在哪里?为什么没有相应的变量
追答
x2(i+(n-1)/2,j+(n-1)/2=C((n+1)/2,(n+1)/2);
这一句少一个括号.
但你排序两次应该得不到想要的结果吧
晓网科技
2024-10-17 广告
ZigBee作为一项新型的无线通信技术,其具有传统网络通信技术所不可比拟的优势,既能够实现近距离操作,又可降低能源的消耗。又如,相较于蓝牙等无线通信技术,ZigBee无线通信技术可有效降低使用成本, 即便数据处理的速率并不高,然而,值得肯定... 点击进入详情页
本回答由晓网科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式