资源简介

matlab 均值 中值 小波 傅里叶 使用matlab编写 matlab7.0 2016a均可以编译

资源截图

代码片段和文件信息

clear;clc;close all
%读取图像
I=imread(‘1.jpg‘);
try
    I=rgb2gray(I);    %如果是RGB图像,转成灰度图
end

%添加噪声
I=imnoise(I‘salt & pepper‘0.04); % 叠加密度为0.04的椒盐噪声
figure
imshow(I)
title(‘原图‘)

%图像去噪
I=medfilt2(I[2 4]);   %采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波
figure
imshow(I)
title(‘去噪之后的图像‘)

%图像锐化
[MN]=size(I);   % 计算图像的尺寸
f=double(I);     % 数据类型转换,MATLAB不支持图像的无符号整型的计算
g=fft2(f);       % 二维傅立叶变换,得到频域信息
g=fftshift(g);   % 0频率移到(M/2N/2)处

n=2;            % 二阶巴特沃斯(Butterworth)滤波器
D0=3;           % 巴特沃斯滤波器的D0,D0越大,保留的高频信号就越少(对于不同的图片,可以自行调节,以便得到好的效果)
for i=1:M
    for j=1:N 
        D=sqrt((i-M/2)^2+(j-N/2)^2);   %计算离0频率(M/2N/2)的距离
        h=1/(1+(D0/D)^(2*n))

评论

共有 条评论