没有合适的资源?快使用搜索试试~ 我知道了~
数字图像处理-图像复原(频域)-MATLAB-实例程序
1 下载量 41 浏览量
2024-05-13
18:20:41
上传
评论
收藏 36KB DOCX 举报
温馨提示
试读
44页
数字图像处理-图像复原(频域)-MATLAB-实例程序
资源推荐
资源详情
资源评论
代替图 5.3
代替图 5.4
//==============MATLAB 代码=============//
clc;
clear;
%读入图像,并转换为 double 型
B=imread('huade.jpg');
I = rgb2gray(B); %转化为灰度图
I_D=im2double(I);
%获得图像大小
[M,N]=size(I_D);
%%%========================生成高斯白噪声
==================================
a=0;
b=0.001;
N_Gau=a+sqrt(b)*randn(M,N);
%将噪声叠加到图像上
J_Gaussian=I_D+N_Gau;
%保存噪声数据
%%%======================生成瑞利噪声
======================================
a=0;
b=0.08;
B=1;
N_Ray1=a+b*raylrnd(B,M,N);
%将噪声叠加到图像上
J_rayl=I_D+N_Ray1;
%%=====================叠加伽马噪声
=======================================
a=0;
b=0.08;
A=1;
B=2;
N_Gam=a+b*gamrnd(A,B,[M,N]);
%将噪声叠加到图像上
J_Gamma=I_D+N_Gam;
%%=====================叠加指数噪声
=======================================
a=0;
b=0.08;
mu=2;
N_exp=a+b*exprnd(mu,[M,N]);
J_exp=I_D+N_exp;
%%=====================叠加均匀分布噪声
=======================================
a=0;
b=0.08;
A=0;
B=2;
N_unif=a+b*unifrnd(A,B,[M,N]);
J_unif=I_D+N_unif;
%%=====================叠加椒盐分布噪声
=======================================
a=0.25;
J_salt = imnoise(I_D,'salt & pepper',a);
subplot(2,3,1);
imshow(J_Gaussian);
title('高斯噪声');
subplot(2,3,2);
imshow(J_rayl);
title('瑞利噪声');
subplot(2,3,3);
imshow(J_Gamma);
title('伽马噪声');
subplot(2,3,4);
imshow(J_exp);
title('指数噪声');
subplot(2,3,5);
imshow(J_unif);
title('均匀分布噪声');
subplot(2,3,6);
imshow(J_salt);
title('椒盐噪声');
figure;
subplot(2,3,1);
imhist(J_Gaussian);
title('高斯噪声');
subplot(2,3,2);
imhist(J_rayl);
title('瑞利噪声');
subplot(2,3,3);
imhist(J_Gamma);
title('伽马噪声');
subplot(2,3,4);
imhist(J_exp);
title('指数噪声');
subplot(2,3,5);
imhist(J_unif);
title('均匀分布噪声');
subplot(2,3,6);
imhist(J_salt);
title('椒盐噪声');
正弦噪声,频谱。
代替图 5.5
//========================MATLAB 代码====================//
t=imread('einstein.jpg');
[m,n]=size(t);
t_1=t;
for i=1:m
for j=1:n
t_1(i,j)=t(i,j)+40*sin(40*i)+40*sin(40*j);
end
end
imshow(t),title('原图');
imwrite(t_1,'einstein1.jpg');
clear;
clc;
data = imread('einstein1.jpg');
data = rgb2gray(data);
F = fft2(data);
FC = fftshift(F);
S2 = log(1+abs(FC));
imshow(S2,[]);
代替图 5.7
//===================MATLAB 代码=====================//
%%均值滤波
%高斯噪声部分
clc;clear;
I=imread('test1.jpg');
I=im2double(I);
%添加高斯噪声
I_noise=double(imnoise(I,'gaussian',0,0.02));%均值为 0
imwrite(I_noise,'a.jpg');
%均值滤波
%定义子窗口的尺寸
m=3;
n=3;
%确定要扩展的行列数
len_m=floor(m/2);
len_n=floor(n/2);
%将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算
I_2=im2double(I_noise);
[M2,N2]=size(I_2);
I_2_pad=padarray(I_2,[len_m,len_n],'symmetric');
I_3=fspecial('average',[3,3]);%3*3 均值滤波 建立预定义
的滤波算子
I_3=imfilter(I_2_pad,I_3);%(待处理矩阵,滤波器)
imwrite(I_3,'b.jpg');
I_D=im2double(I_noise);
[MM,NN]=size(I_D);
%================= 几何均值滤波器============
%定义子窗口的尺寸
m=3;
n=3;
%确定要扩展的行列数
len_m=floor(m/2);
len_n=floor(n/2);
%将原始图像进行扩展,这里采用了镜像扩展,以进行图像边缘计算
I_D_pad=padarray(I_D,[len_m,len_n],'symmetric');
%获得扩展后的图像尺寸
[M,N]=size(I_D_pad);
J_Geometric=zeros(MM,NN);
剩余43页未读,继续阅读
资源评论
不贰洛客
- 粉丝: 3851
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功