我要用中值滤波去除椒盐噪声,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); 展开
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); 展开
1个回答
展开全部
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 广告
2024-10-17 广告
ZigBee作为一项新型的无线通信技术,其具有传统网络通信技术所不可比拟的优势,既能够实现近距离操作,又可降低能源的消耗。又如,相较于蓝牙等无线通信技术,ZigBee无线通信技术可有效降低使用成本, 即便数据处理的速率并不高,然而,值得肯定...
点击进入详情页
本回答由晓网科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询