图像处理和分析技术实验报告.docx
《图像处理和分析技术实验报告.docx》由会员分享,可在线阅读,更多相关《图像处理和分析技术实验报告.docx(25页珍藏版)》请在冰点文库上搜索。
![图像处理和分析技术实验报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/15/79014ed5-eb69-4704-a9d1-6b8582038118/79014ed5-eb69-4704-a9d1-6b85820381181.gif)
图像处理和分析技术实验报告
图像处理实验报告
学院:
指导老师:
专业:
班级:
学号:
姓名:
实验一:
图像处理基础及图像变换
(一)
【实验目的】:
掌握使用Matlab进行图像处理的基本知识,掌握对图像进行变换的方法,观察图像变换的效果,加深对图像变换知识的理解。
【实验内容】:
Matlab的安装和基本的操作以及傅立叶变换
实验步骤:
1、熟悉Matlab的安装和基本的操作,包括对基本图像处理函数的掌握(imread,imshow,figure,subplot)
2、傅立叶变换(fft2,ifft2,fftshift)
1)调入图像文件。
2)对图像做傅立叶变换,观察图像的原始频谱。
3)对傅立叶变换的进行移动,观察移位以后的频谱。
4)对移动后的频谱进行增强,观察增强以后的频谱。
5)对图像傅立叶变换进行逆变换,比较原图像和经过傅立叶变换和逆变换以后获得的图像。
【源程序】:
closeall;
clearall;
A=imread('Fig6.38(a).jpg');
subplot(2,3,1);imshow(A);title('原图像');
B=rgb2gray(A);
subplot(2,3,2);imshow(B);title('原图像灰度图像');
C=FFT2(B);subplot(2,3,3);imagesc(abs(C),[02000]);title('傅里叶变换图像');
subplot(2,3,4);imshow(log(1+abs(C)),[010]);title('增强');
%subplot(2,2,3);imshow((F.*F),[010]);
subplot(2,3,5);imshow(fftshift(C));title('移位图像');
D=ifft(double(B));subplot(2,3,6);imshow(D);title('傅里叶反变换图像');
【实验结果】:
实验二:
图像处理基础及图像变换
(二)
【实验目的】:
掌握使用Matlab进行图像处理的基本知识,掌握对图像进行变换的方法,观察图像变换的效果,加深对图像变换知识的理解。
【实验内容】:
离散余弦变换,小波变换
1、离散余弦变换(dct2)
1)调入图像文件。
2)对图像做离散余弦变换,观察图像的原始频谱。
3)对离散余弦变换的进行移动,观察移位以后的频谱。
4)对移动后的频谱进行增强,观察增强以后的频谱。
5)对图像的离散余弦变换进行逆变换,比较原始图像和经过离散余弦变换和逆变换以后获得的图像。
6)比较离散余弦变换和傅立叶变换的频谱。
2、小波变换(wavefast,wave2gray,waveback)
1)调入图像文件。
2)对图像做小波变换,观察在不同小波族的图像。
3)观察小波分析系数。
4)观察在不同尺度小的小波变换的图像。
5)对图像的小波变换进行逆变换,比较原始图像和进行小波变换和逆变换以后获得的图像
6)修改小波分析系数观察,再进行逆变换,并与原始图像进行对比。
【源程序】:
(1)离散余弦变换
closeall;
clearall;
RGB=imread('Fig6.08.jpg');
subplot(2,3,1);imshow(RGB);title('原图像');
I=rgb2gray(RGB);
subplot(2,3,2);imshow(I);title('灰度图像');
J=dct2(I);
subplot(2,3,3);imshow(J);title('二维离散余弦变换图像');
subplot(2,3,4);imshow(log(1+abs(J)),[010]);title('增强图像');
%subplot(2,2,4);imshow((F.*F),[010]);
subplot(2,3,5);imshow(fftshift(J));title('移位图像');
K=idct2(J)/255;
subplot(2,3,6);imshow(K);title('二维离散余弦反变换图像');
(2)小波变换
closeall;
clearall;
A=imread('Fig6.08.jpg');subplot(2,3,1);imshow(A);title('原图像');
B=rgb2gray(A);subplot(2,3,2);imshow(B);title('原图像灰度图像');
[a,b]=wavefast(B,1,'db4');%小波变换
subplot(2,3,3);wave2gray(a,b);title('小波一层变换');%小波灰度变换
[a1,b1]=wavefast(B,2,'db4');subplot(2,3,4);wave2gray(a1,b1);title('小波二层变换');
F=waveback(a,b,'db4');subplot(2,3,5);imshow(uint8(F));title('小波反变换');
【实验结果】:
(1)离散余弦变换
(2)小波变换
实验三:
图像的灰度变换和直方图的规定化
【实验目的】:
了解对图象进行增强以及对退化图像恢复的基本理论,学会使用灰度变换和直方图的规定化增强图像。
【实验内容】:
灰度变换,直方图规定化。
1、灰度变换(imadjust)
1)调入原始图像文件。
2)采用不同的灰度映射曲线对图像进行灰度变换。
3)采用matlab工具箱提供的函数对图像进行灰度变换。
4)比较不同方法对图像进行灰度变换的效果。
2、直方图的规定化(imhist,bar,stem,histeq)
1)调入原始图像文件。
2)采用不同的方法绘制原始图象的直方图。
3)采用组映射规则对图像进行直方图的规定化。
4)采用matlab工具箱提供的函数对图像进行灰度变换。
5)观察采用不同方法对原始图像进行直方图的规定化获得的图像效果。
【源程序】:
(1)灰度变换
closeall;
clearall;
I=imread('Fig6.38(a).jpg');
subplot(2,3,1);imshow(I);title('原图像');
J=rgb2gray(I);
subplot(2,3,2);imshow(J);title('原图像灰度图像');
K=imadjust(J,[0.30.7],[]);
subplot(2,3,3);imshow(K);title('原图像灰度变换图');
M=imadjust(J,[0.20.4],[]);
subplot(2,3,4);imshow(M);title('原图像灰度变换图2');
N=imadjust(J,[0.30.7],[0.10.8]);
subplot(2,3,5);imshow(N);title('原图像灰度变换图3');
L=imadjust(J,[0.20.4],[0.30.7]);
subplot(2,3,6);imshow(L);title('原图像灰度变换图4');
(2)直方图规定化
clearall
closeall
subplot(3,2,1);
I=imread('Fig2.22(b).jpg');
imshow(I);
title('原图像');
T=imhist(I);
subplot(3,2,3);
bar(T);title('直方图1');
subplot(3,2,4);
stem(T);title('直方图2');
h=0:
250;
J=histeq(I,h);
subplot(3,2,5);
imshow(J);title('规定化后的图像');
subplot(3,2,6);
imhist(J);title('规定化后直方图');
【实验结果】:
图1.灰度变换图:
图2.规定直方图系列图像
实验四:
噪声及其描述
【实验目的】:
掌握图象退化的基本理论,理解噪声的统计特性,掌握噪声的描述。
【实验内容】:
噪声及其描述,包括高斯噪声、椒噪声、盐噪声、泊松噪声。
【步骤】:
1)调入原始图像文件。
2)在原始图象中加入高斯噪声,观察在不同均值和期望下的加噪图像与原始图像的效果。
3)在原始图像中加入椒盐噪声,观察在不同噪声密度下的加噪图像与原始图像的效果。
4)在原始图像中仅加入椒噪声,观察在不同噪声密度下的加噪图像与原始图像的效果。
5)在原始图像中仅加入盐噪声,观察在不同噪声密度下的加噪图像与原始图像的差效果别。
6)在原始图像中加入泊松噪声,观察加噪图像与原始图像的效果。
7)比较在不同噪声下的加噪图像和原始图像的差别。
【源程序】:
clearall
closeall
subplot(3,2,1);
I=imread('Fig6.30(06).jpg');
imshow(I);title('原图像');
subplot(3,2,2);
J=imnoise(I,'gaussian',0.02,0.02);
imshow(J);title('高斯噪声');
subplot(3,2,3);
K=imnoise(I,'salt&pepper',0.02);
imshow(K);title('椒盐噪声p=0.02');
subplot(3,2,4);
N=imnoise(I,'poisson');
imshow(N);title('泊松噪声');
subplot(3,2,5);
R1=imnoise2('salt&pepper',666,666,0.5,0);
C=find(R1==0);
I1=I;
I1(C)=0;
imshow(I1);title('椒噪声');
subplot(3,2,6);
R2=imnoise2('salt&pepper',100,100,0,0.5);
C=find(R2==1);
I2=I;
I2(C)=255;
imshow(I2);title('盐噪声');
【实验结果】:
实验五:
空域滤波器
【实验目的】:
理解空域滤波器模板的运算过程,对比并掌握不同滤波器对噪声的处理能力以及对图像的增强能力。
【实验内容】:
均值滤波器、中值滤波器、最大/小值滤波器、混合滤波器、组合滤波器
【实验方法】:
空域滤波器(filter2,medfilt2,adpmedian)
1)调入原始图像文件。
2)对原始图像和加噪图像进行4领域均值滤波,观察对原始图像和加噪图像的效果。
3)对原始图像和加噪图像进行8领域均值滤波,观察对原始图像和加噪图像的效果。
4)改变均值滤波器的权重系数,对原始图像和加噪图像进行滤波,观察原始图像和加噪图像的效果。
5)对原始图像和加噪图像进行中值滤波,观察对原始图像和加噪图像的效果。
6)对原始图像和加噪图像进行最大值滤波,观察对原始图像和加噪图像的效果。
7)对原始图像和加噪图像进行最小值滤波,观察对原始图像和加噪图像的效果。
8)对原始图像和加噪图像进中点滤波,观察对原始图像和加噪图像的效果。
9)对原始图像和加噪图像进行混合滤波,观察对原始图像和加噪图像的效果。
10)对原始图像和加噪图像进行自适应滤波,观察对原始图像和加噪图像的效果。
11)比较不同的空域滤波器对原始图像和不同的加噪图像处理的差别。
【源程序】:
(1)4、8临域滤波
closeall;
clearall;
I=imread('Fig6.30(01).jpg');
subplot(4,3,1);imshow(I);title('原图像');
J=rgb2gray(I);subplot(4,3,2);
imshow(J);title('原图像灰度图像');
N=imnoise(J,'salt&pepper',0.02);
subplot(4,3,3);imshow(N);title('加椒盐噪声后的图像');
h1=[0,1,0;1,1,1;0,1,0];%定义4临域;
F=filter2(h1,J)/255;subplot(4,3,4);
imshow(F);title('原图像4领域均值滤波');
F1=filter2(h1,N)/255;subplot(4,3,5);
imshow(F1);title('加噪图像4领域均值滤波');
h2=[1,1,1;1,1,1;1,1,1];%定义8临域滤波;
R=filter2(h2,J)/1000;subplot(4,3,6);
imshow(R);title('原图像8领域滤波');
R1=filter2(h2,N)/1000;subplot(4,3,7);
imshow(R1);title('加噪图像8领域滤波');
h3=[4,4,4;4,4,4;4,4,4];%改变滤波器的权重系数;
P=filter2(h3,J)/5000;subplot(4,3,8);
imshow(P);title('改变权重系数后原图像8领域滤波');
P1=filter2(h3,N)/5000;subplot(4,3,9);
imshow(P1);title('改变权重系数后加噪图像8领域滤波');
Q=adpmedian(J,255);subplot(4,3,10);
imshow(Q);title('自适应滤波图像');
(2)二维线性滤波
closeall;
clearall;
I=imread('Fig6.36
(1).jpg');
subplot(2,3,1);imshow(I);title('原图像');
J=rgb2gray(I);subplot(2,3,2);
imshow(J);title('原图像灰度图像');
N=imnoise(J,'salt&pepper',0.02);
subplot(2,3,3);imshow(N);title('加椒盐噪声后的图像');
K=medfilt2(N);subplot(2,3,4);
imshow(K);title('滤波后的图像');
h=fspecial('sobel')
P=double(J);Q=double(N);
%P=magic(50);Q=magic(50);
A=filter2(h,P,'valid');subplot(2,3,5);
imshow(A);title('原图像二维线性过滤后图像');
B=filter2(h,Q,'valid');subplot(2,3,6);
imshow(B);title('加噪声图像二维线性过滤后图像');
【实验结果】:
(1)4、8临域滤波~自适应滤波
(2)二维线性滤波
实验六:
频域滤波器
实验目的:
理解频率滤波器的频谱图,学会对图像进行频域分析,并使用滤波器对图像进行处理,掌握不同滤波器对噪声的处理能力以及对图像的增强能力。
实验内容:
低通滤波器、高通滤波器、带通滤波器、带阻滤波器
实验方法:
频域滤波器(lpfilter,Hpfilter,ifft2,dftfilt)
步骤:
1)调入原始图像文件。
2)观察理想低通滤波器、高斯低通滤波器、巴特沃斯低通滤波器的频谱。
3)对原始图像和加噪图像分别采用理想低通滤波器、高斯低通滤波器、巴特沃斯低通滤波器进行滤波,观察对原始图像和加噪图像的效果。
4)观察理想高通滤波器、高斯高通滤波器、巴特沃斯高通滤波器的频谱。
5)对原始图像和加噪图像分别采用理想高通滤波器、高斯高通滤波器、巴特沃斯高通滤波器进行滤波,观察对原始图像和加噪图像的效果。
6)观察高斯带通滤波器、巴特沃斯带通滤波器的频谱。
7)对原始图像和加噪图像分别采用高斯带通滤波器、巴特沃斯带通滤波器进行滤波,观察对原始图像和加噪图像的效果。
8)观察高斯带阻滤波器、巴特沃斯带阻滤波器的频谱。
9)对原始图像和加噪图像分别采用高斯带阻滤波器、巴特沃斯带阻滤波器进行滤波,观察对原始图像和加噪图像的效果。
10)比较不同的频域滤波器对原始图像和不同的加噪图像处理的差别。
【源程序】
1、原图像和加噪图像的低通滤波:
closeall;
clearall;
I=imread('Fig6.30(01).jpg');
subplot(4,4,1);imshow(I);title('原图像');
J=rgb2gray(I);subplot(4,4,2);
imshow(J);title('原图像灰度图像');
F=FFT2(double(J));%傅里叶变换
F1=fftshift(F);%傅里叶变换平移
N=imnoise(J,'salt&pepper',0.05);
subplot(4,4,3);imshow(N);title('加椒盐噪声后的图像');
F2=FFT2(double(N));%傅里叶变换
F3=fftshift(F2);%傅里叶变换平移
La=lpfilter('ideal',666,666,50);
l1=fftshift(La);subplot(4,4,4);
imshow(l1);title('理想低通滤波频谱');
L1=F1.*l1;
Ya=ifftshift(L1);
la=ifft2(Ya);subplot(4,4,5);
imshow(uint8(la));title('原图像理想低通滤波');
N1=F3.*l1;
Na=ifftshift(N1);
na=ifft2(Na);subplot(4,4,6);
imshow(uint8(na));title('加噪图像理想低通滤波');
Lb=lpfilter('gaussian',666,666,50);
l2=fftshift(Lb);subplot(4,4,7);
imshow(l2);title('高斯低通滤波频谱');
L2=F1.*l2;
Yb=ifftshift(L2);
lb=ifft2(Yb);subplot(4,4,8);
imshow(uint8(lb));title('原图像高斯低通滤波');
N2=F3.*l2;
Nb=ifftshift(N2);
nb=ifft2(Nb);subplot(4,4,9);
imshow(uint8(nb));title('加噪图像高斯低通滤波');
Lc=lpfilter('btw',666,666,50);
l3=fftshift(Lc);subplot(4,4,10);
imshow(l3);title('巴特沃斯低通滤波频谱');
L3=F1.*l3;
Yc=ifftshift(L3);
lc=ifft2(Yc);subplot(4,4,11);
imshow(uint8(lc));title('原图像巴特沃斯低通滤波');
N3=F3.*l3;
Nc=ifftshift(N3);
nc=ifft2(Nc);subplot(4,4,12);
imshow(uint8(nc));title('加噪图像巴特沃斯低通滤波');
2、原图像及加噪图像的高通滤波
closeall;
clearall;
I=imread('Fig6.30(01).jpg');%原图像
J=rgb2gray(I);%原图像灰度图像
F=FFT2(double(J));%傅里叶变换
F1=fftshift(F);%傅里叶变换平移
N=imnoise(J,'salt&pepper',0.05);
%'加椒盐噪声后的图像
F2=FFT2(double(N));%傅里叶变换
F3=fftshift(F2);%傅里叶变换平移
H=hpfilter('ideal',666,666,40);
h1=fftshift(H);subplot(3,3,1);
imshow(h1);title('理想高通滤波频谱');
H1=F1.*h1;
Ha=ifftshift(H1);
ha=ifft2(Ha);subplot(3,3,2);
imshow(uint8(ha));title('原图像理想高通滤波');
N3=F3.*h1;
Nd=ifftshift(N3);
nd=ifft2(Nd);subplot(3,3,3);
imshow(uint8(nd));title('加噪图像理想高通滤波');
Hm=hpfilter('gaussian',666,666,40);
h2=fftshift(Hm);subplot(3,3,4);
imshow(h2);title('高斯高通滤波频谱');
H2=F1.*h2;
Hb=ifftshift(H2);
hb=ifft2(Hb);subplot(3,3,5);
imshow(uint8(hb));title('原图像高斯高通滤波');
N3=F3.*h2;
Ne=ifftshift(N3);
ne=ifft2(Ne);subplot(3,3,6);
imshow(uint8(ne));title('加噪图像高斯高通滤波');
Hn=hpfilter('btw',666,666,40);
h3=fftshift(Hn);subplot(3,3,7);
imshow(h3);title('巴特沃斯高通滤波频谱');
H3=F1.*h3;
Hc=ifftshift(H3);
hc=ifft2(Hc);subplot(3,3,8);
imshow(uint8(hc));title('原图像巴特沃斯高通滤波');
N3=F3.*h3;
Nf=ifftshift(N3);
nf=ifft2(Nf);subplot(3,3,9);
imshow(uint8(nf));title('加噪图像巴特沃斯高通滤波');
【实验结果】
1、低通滤波
2、高通滤波
实验七:
图像压缩技术
(一)
【实验目的】:
掌握图像压缩的基本理论,理解图像压缩的系统基本结构,加深对图像处理中像素间冗余、编码冗余和视觉冗余的理解,以及会正确使用不同的压缩方法对不同冗余的压缩处理。
【实验内容】:
图像压缩中相关概念,哈夫曼编解码。
【实验方法】:
一、图像压缩中相关概念(hist,entropy,imratio)
1)调入原始图像文件。
2)分析并获得灰度直方图。
3)计算一阶熵估计。
4)计算压缩比。
二、哈夫曼编解码(huffman,mat2huff,huff2mat)
1)调入原始图像文件。
2)分析并获得灰度直方图。
3)对灰度直方图进行哈夫曼编码。
4)利用mat2huff直接对图像进行哈夫曼编码。
5)比较采用对直方图进行哈夫曼编码和mat2huff编码的图像质量、压缩比、编码数值、以及计算一阶熵估计
7)对编码是数据进行解码,比较原始数据和经过编解码以后的数据
【实验程序】
1、灰度直方图
closeall;
clearall;
I=imread('Fig6.38(a).jpg');subplot(4,2,1);imshow(I);title('原图像');
J=rgb2gray(I);subplot(4,2,2);imshow(J);title('原图像灰度图像');