📄 medi.m
字号:
function [J]=medi(I,W)
[m,n]=size(I);%原来图像的高度和宽度
[mm,nn]=size(W);%模板的高度和宽度
J=zeros(m,n);%处理后的图像
%以下对图像中每个点进行处理
for i=1:m
for j=1:n
%如果是边缘点,则不处理,赋予原来图像的值
if i<=(mm-1)/2||i>=m-(mm-1)/2+1||j<=(nn-1)/2||j>=n-(nn-1)/2+1
J(i,j)=I(i,j);
else
%对于不是边缘点,则按模板的大小进行计算,把模板对应原图像上的点放到一个数组里
k=0;
temp=zeros(1,mm*nn);
for a=-(mm-1)/2:(mm-1)/2
for b=-(nn-1)/2:(nn-1)/2
temp(k+1)=I(i+a,j+b);
k=k+1;
end
end
%对于模板上对应原图像上的点进行排序,采用冒泡排序
for s=1:k-2
for l=s+1:k
if temp(s)>temp(l)
tem=temp(s);
temp(s)=temp(l);
temp(l)=tem;
end
end
end
J(i,j)=temp((k+1)/2);%把排序后的值赋给处理后的矩阵
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -