资源简介

适用于数字图像实验,用输入窗口大小,既可显示平滑后的中值滤波,并且改中值滤波的实现不是利用matlab中自带的函数,而是利用原理自行编写的代码。纯原创。

资源截图

代码片段和文件信息

I=imread(‘lena.bmp‘); %读取lena图像
J=imnoise(I‘salt & pepper‘0.02); %在原图中添加椒盐噪声
imwrite(J‘lena1.bmp‘); %将添加椒盐噪声的图像写入文件夹
[Amap]=imread(‘lena1.bmp‘); %读取加入噪声后的索引图像
image=double(A); %使索引图片像素的灰度值为双精度浮点数

prompt=(‘请输入窗口大小对应n值 例3*3窗口,n=3‘);%设置对话框中显示的文字
name=‘输入窗口大小‘;%设置对话框的名字
numlines=1;%设置对话框显示文字的行数
defaultanswer={‘3‘};%设定编辑栏的默认值
answer=inputdlg(promptnamenumlinesdefaultanswer);%将编辑栏的输入值赋给cell型变量answer

n=eval(answer{1});%将cell型变量answer转换为整型变量赋给n,作为窗口边长
z=n*n;%取出窗口中像素个数赋给z
u=zeros(1z);%定义一个内容全零的1xz数组,用于放需要排列的数
m=(n-1)/2;%定义窗口半径

for x=m+1:255-m;
    for y=m+1:255-m;%进入循环,

评论

共有 条评论