数字图像实验报告一图像的加噪处理与几何变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一图像的加噪处理与几何变换
一、实验目的
1.给Lena图像加高斯噪声,椒盐噪声,均匀分布噪声,观察图像;用平滑滤波器(均值滤波器,中值滤波器)分析效果。
2.对lena图像作裁剪、放大、缩小、旋转、平移等几何变换。
二、实验内容
1.采用中值滤波、均值滤波对受椒盐噪声干扰的图像滤波;
2.采用中值滤波、均值滤波对受高斯噪声干扰的图像滤波;
3.采用中值滤波、均值滤波对受均匀噪声干扰的图像滤波;
4.将图像lena.bmp裁剪成200X200大小;
5.制作动画,将一幅图像逐渐向左上角平移移出图像区域,空白的地方用白色填充;
6.利用剪切图像函数制作动画;
7.将图像分别放大1.5倍和缩小0.8倍,插值方法使用双线性插值法,分别显示图像;
8.将图像水平镜像,再顺时针旋转45度,显示旋转后的图;
9.将图像分别进行水平方向30度错切,垂直方向45度错切,分别显示结果。
三、实验步骤
(一)采用中值滤波,均值滤波对受椒盐噪声干扰的图像滤波
a = imread('E:\实验报告\数字图像处理实验报告\lena.jpg');%读取图像
b = rgb2gray(a); %转化为灰度图像
%给图像加入噪声
I = imnoise(b,'salt & pepper')%椒盐噪声
%扩展矩阵,生成待处理矩阵
n = 3;%模板阶数
m = (n-1)/2;
[p,q] = size(I);
PI = zeros(p+2*m,q+2*m);%待处理矩阵
for i = 1:p
for j = 1:q
PI(i+m,j+m) = I(i,j);
end
end
for i = 1:p
for ii = 1:m
PI(i+m,ii) = I(i,1);
PI(i+m,q+m+ii) = I(i,q);
end
end
for j = 1:q
for jj = 1:m
PI(jj,j+m) = I(1,j);
PI(p+m+jj,j+m) = I(p,j);
end
end
for ii = 1:m
for jj = 1:m
PI(ii,jj) = I(1,1);
PI(q+m+ii,jj) = I(p,1);
PI(ii,p+m+jj) = I(1,q);
PI(q+m+ii,p+m+jj) = I(p,q);
end
end
%中值滤波&均值滤波
derta = zeros(n,n);%n阶模板矩阵
PImid = PI;
PImean = PI;
for i = m+1:p+m
for j = m+1:q+m
for k = 1:m
for h = 1:m
derta(k,h) = PI(i+k-m-1,j+h-m-1);
derta(k,m+1) = PI(i+k-m-1,j);
derta(k,n-h+1) = PI(i+k-m-1,j+m+1-h); derta(m+1,h) = PI(i,j+h-m-1);
derta(m+1,m+1) = PI(i,j);
derta(m+1,n-h+1) = PI(i,j+m+1-h);
derta(n-k+1,h) = PI(i+m+1-k,j+h-m-1);
derta(n-k+1,m+1) = PI(i+m+1-k,j);
derta(n-k+1,n-h+1) = PI(i+m+1-k,j+m+1-h);
PImid(i,j) = median(median(derta));%中值滤波
PImean(i,j) = round(mean(mean(derta)));%均值滤波end
end
end
end
%输出结果
Imid = zeros(p,q);
Imean = zeros(p,q);
for i = 1:p
for j = 1:q
Imid(i,j) = PImid(i+m,j+m);
Imean(i,j) = PImean(i+m,j+m);
end
end
%显示结果
figure()
subplot(2,2,1);
imshow(b); title('原图像');
subplot(2,2,2);
imshow(I);title('加入椒盐噪声的图像');
subplot(2,2,3);
imshow(Imid,[0,255]);title('中值滤波处理后的图像'); subplot(2,2,4);
imshow(Imean,[0,255]);title('均值滤波处理后的图像');
生成图像如下:
由图可见,对于椒盐噪声,中值滤波效果更好。
(二)采用中值滤波,均值滤波对受高斯噪声干扰的图像滤波
a = imread('E:\实验报告\数字图像处理实验报告\lena.jpg ');%读取图像
b = rgb2gray(a); %转化为灰度图像
%给图像加入噪声
I=imnoise(b,'gaussian' , 0.02);%高斯噪声
%扩展矩阵,生成待处理矩阵
n = 3;%模板阶数
m = (n-1)/2;
[p,q] = size(I);
PI = zeros(p+2*m,q+2*m);%待处理矩阵
for i = 1:p
for j = 1:q
PI(i+m,j+m) = I(i,j);
end