数字图像处理实验指导书.ppt
《数字图像处理实验指导书.ppt》由会员分享,可在线阅读,更多相关《数字图像处理实验指导书.ppt(83页珍藏版)》请在三一办公上搜索。
1、数字图像处理实验指导书,谢洪波河南理工大学,2023/9/18,实验一 熟悉图像处理的Matlab平台,实验目的熟悉Matlab的工作环境,掌握Matlab下矩阵的基本操作,熟练掌握Matlab下图像处理的基本操作(读、分解、转换、显示、查看、写文件)。,2023/9/18,实验内容设置当前工作目录;读入一幅RGB图像,查看图像信息;将读入的图像分解为R、G、B三幅图像分别保存为三个图像文件;将读入的图像转换成灰度图像并保存为图象文件;显示、查看读入图像、分解图像、转换图像;,2023/9/18,实验要求独立完成实验内容;记录每一项实验内容实现的步骤;打印输出原始图像、分解图像、转换图像;独立
2、撰写实验报告,2023/9/18,实验方法、步骤1.设置当前工作目录打开Matlab,从“文件”菜单选择“Set Path”,弹出“Set Path”窗体,单击“Add Folder”按钮或“Add with Subfolders”按钮,弹出“浏览文件夹”窗口,选择自己的文件夹添加到当前工作目录中,点击“确定”,返回到“Set Path”窗体,依次点击“Save”按钮、“Close”按钮,完成当前工作目录的设置。,2023/9/18,2023/9/18,实验方法、步骤2.读入一幅RGB图像,查看图像信息在“Command”窗口的命令提示符“”后输入“I=imread(ss.jpg)命令,读入R
3、GB图像“ss.jpg”,数据存在“I”矩阵中;在“Command”窗口的命令提示符“”后输入“imfinfo(ss.jpg)命令,显示图像“ss.jpg”文件信息。,2023/9/18,2023/9/18,实验方法、步骤3.将读入的图像分解为R、G、B三幅图像分别保存为三个图像文件;在“Command”窗口的命令提示符“”后分别输入“I_R=I”、“I_G=I;、“I_G=I”,拷贝“I”的3个副本分别存入矩阵“I_R”、“I_G”、“I_B”中;用I_R(:,:,2)=0;”、I_R(:,:,3)=0;”、“I_G(:,:,1)=0;”、“I_G(:,:,3)=0;”和“I_B(:,:,1
4、)=0;”、“I_B(:,:,2)=0;”使得“I_R”、“I_G”、“I_B”保留的分别只有R、G、B分量。分别用“imwrite(I_R,ss_R.jpg)”、“imwrite(I_R,ss_G.jpg)”和“imwrite(I_R,ss_B.jpg)”将它们分别写入“ss_R.jpg”、“ss_G.jpg”和“ss_B.jpg”磁盘文件中。,2023/9/18,实验方法、步骤4.将读入的图像转换成灰度图像并保存为图象文件;在“Command”窗口的命令提示符“”后分别输入“I_Gray=rgb2gray(I)”将图像转变为灰度图像并存于矩阵“I_Gray”中,用“imwrite(I_Gr
5、ay,ss_Gray.jpg)”将其写入ss_Gray.jpg”磁盘文件中。,2023/9/18,实验方法、步骤5.显示、查看读入图像、分解图像、转换图像;用imshow()和imview()显示和查看各图像;用下面命令序列在一个视窗显示各图像:subplot(231);imshow(I);title(原始图像);subplot(233);imshow(I_Gray);title(灰度图像);subplot(234);imshow(I_R);title(红色分量);subplot(235);imshow(I_G);title(绿色分量);subplot(236);imshow(I_B);tit
6、le(蓝色分量);,2023/9/18,2023/9/18,思考题Matlab的当前工作目录;Matlab处理图像时把图像当作什么进行的?如何查看RGB图像的各分量图像?如何将RGB图像转换成灰度图像?,2023/9/18,实验目的 了解数字图像频域变换的目的,熟悉DFT、DCT变换的频谱特征及小波变换的特点,掌握数字图像FFT、DCT及DWT变换的方法。,实验二 图像的频域变换,2023/9/18,实验内容在Matlab下读入一幅图像,对其灰度图作快速傅立叶变换;在Matlab下读入一幅图像,对其灰度图作DCT变换;在Matlab下读入一幅图像,对其作DWT分解。,2023/9/18,实验要
7、求独立完成各项实验内容;记录每一项实验内容实现的步骤;编写FFT、DCT、DWT变换Matlab程序;打印输出原始图像、FFT的频谱图、将频率平面坐标原点移至窗口中心的FFT频谱图、DCT频谱图以及1级小波分解图像;独立撰写实验报告,2023/9/18,实验方法、步骤1.读入一幅图像,对其灰度图作快速傅立叶变换。用imread()函数读如工作目录下的“风光壁纸33.jpg”图像存于I矩阵中,用rgb2gray()函数将其转换成灰度图像;用fft2()函数对其进行FFT变换,并将变换得到的傅立叶频谱存于fft_I矩阵中;用fftshift()函数将傅立叶频谱坐标原点移至窗口中央并存于sfft_I
8、矩阵中;显示FFT频谱图、移动后的频谱图。由于fft_I和sfft_I均为复数矩阵,须用abs()函数求其模,并根据矩阵元素的特点将其归一化到0255之间;用subplot()函数及imshow函数在同一窗口下显示原始图像、灰度图像、FFT频谱图及移动后的频谱图。附:FLY.m文件,2023/9/18,Fly.m文件内容%快速傅立叶变换,显示原始RGB图像、灰度图像、FFT频谱图function fly(I)subplot(221)imshow(I);title(原始图像)I=rgb2gray(I);subplot(222)imshow(I);title(灰度图像)fft_I=fft2(I);
9、%2-D快速傅立叶变换 A=abs(fft_I);%将频谱矩阵元素归一化到0255 A=(A-min(min(A)/(max(max(A)-min(min(A)*255;subplot(223)imshow(A);title(傅立叶频谱图像)sfft_I=fftshift(fft_I);%傅立叶频谱平面中心移至窗口中心 A=abs(sfft_I);%将频谱矩阵元素归一化到0255 A=(A-min(min(A)/(max(max(A)-min(min(A)*255;subplot(224)imshow(A);title(原点移到中心的傅立叶频谱图像),2023/9/18,2023/9/18,实
10、验方法、步骤2.读入一幅图像,对其灰度图作DCT变换。用imread()函数读如工作目录下的“显微煤岩照片.JPG”图像存于I矩阵中,用rgb2gray()函数将其转换成灰度图像;用dct2()函数对其进行DCT变换,并将变换得到的傅立叶频谱存于dct_I矩阵中;显示DCT频谱图由于dct_I为复数矩阵,须用abs()函数求其模,并根据矩阵元素的特点将其归一化到0255之间;用subplot()函数及imshow函数在同一窗口下显示原始图像、灰度图像、DCT频谱图附:Lsyx_pp.m文件,2023/9/18,Lsyx_pp.m文件内容%DCT变换,显示原始RGB图像、灰度图像、DCT频谱图f
11、unction lsyx_pp(I)subplot(221)imshow(I);title(原始图像)I=rgb2gray(I);subplot(223)imshow(I);title(原始灰度图像)dct_I=dct2(I);A=abs(dct_I);A=(A-min(min(A)/(max(max(A)-min(min(A)*255;subplot(224)imshow(A);title(离散余弦频谱图像),2023/9/18,2023/9/18,实验方法、步骤3.读入一幅图像,对其作DWT分解。Matlab下对一幅图象进行小波分解有两种方法,一是利用Mtlab提供的“小波工具箱”,二是编
12、写Matlab程序。方法一:点击“Start”按钮,选“Toolbox”“More”“Wavelet”“Wavelet Main Menu(wavemenu)”,弹出“Wavelet Main Menu”窗体;点击“Two-Dimensional”框架中的“Wavelet 2-d”按钮,弹出“Wavelet 2-d”窗体;,2023/9/18,2023/9/18,2023/9/18,实验方法、步骤点击“File”菜单,选“Load”“Image”,选择要做小波分解的图像”;从“Wavelet”列表中选择合适的小波母函数;从“Level”列表中选择小波分解的级别;点击“Analyze”按钮;调节
13、各参数;对分解结果可以保存和输出。,2023/9/18,2023/9/18,实验步骤3.读入一幅图像,对其作DWT分解。方法二:读入进行小波分解的图像,并把它转成灰度图像,存于一个矩阵中,如:X;用wavedct2函数对X进行分解,该函数的格式如下:C,S=wavedt2(X,N,wname)用相关命令输出各图像附:Xbfj.m文件,2023/9/18,Xbfj.m文件内容%小波图像分解clearclcX=imread(风光壁纸(蓝色主题)8.jpg);subplot(231)imshow(X)title(原始图像)X=rgb2gray(X);subplot(234)imshow(X)titl
14、e(原始灰度图像)%对图象用2D小波进行一次分解c,s=wavedec2(X,1,haar);%提取特征分量和细节分量a1=wrcoef2(a,c,s,haar);h1=wrcoef2(h,c,s,haar);v1=wrcoef2(v,c,s,haar);d1=wrcoef2(d,c,s,haar);,%显示一次小波分解各分量图像subplot(232)a1=uint8(a1);imshow(a1)title(一次小波分解特征分量图像)subplot(235)h1=uint8(h1);imshow(h1)title(一次小波分解水平细节分量图像)subplot(233)v1=uint8(v1)
15、;imshow(v1)title(一次小波分解垂直细节分量图像)subplot(236)d1=uint8(d1);imshow(d1)title(一次小波分解对角细节分量图像),2023/9/18,2023/9/18,实验结果分析对FFT频谱图、DCT频谱图及小波分解图做必要分析说明;,2023/9/18,思考题离散傅立叶变换有那些性质?这些性质说明了什么:从FFT变换得到频谱图说明FFT变换在数字图像处理方面有何可能的作用?小波变换的优点有哪些?在数字图像处理方面有何优势?,2023/9/18,实验目的 了解图像增强与复原的体系结构;熟悉灰度变换、直方图修正、图像平滑、图像锐化及伪彩色处理在
16、数字图像增强方面的作用及各自的特点;掌握图像增强的灰度变换法、直方图修正法,掌握图像平滑、图像锐化的滤波器设计方法,掌握图像的伪彩色处理方法。,实验三 图像增强与复原,2023/9/18,实验内容读入一幅有明显明暗缺陷的灰度图像,分析其直方图特征,分别用分段灰度线性变换法、直方图均衡法和图像灰度调整法(imadjust)分别进行处理;读入一幅灰度图像,分别给其加上“乘性噪声”、“椒盐噪声”,然后分别用“均值滤波”、“中值滤波”和“巴特沃斯滤波”对其做平滑处理;,2023/9/18,实验内容读入一幅灰度图像,分别用“Sobel算子”、“Laplacian算子”、“梯形滤波器”对其做锐化处理;读入
17、一幅灰度图像,分别用“灰度级分层法”、“灰度变换法”和“频域伪彩色处理法”对其进行伪彩色增强;读入一幅图像,对其进行模糊化,然后用“逆滤波法”对其进行复原处理。,2023/9/18,实验要求独立完成各项实验内容;记录每一项实验内容实现的步骤;编写“灰度增强”、“平滑”、“锐化”、“伪彩色增强”、“图像复原”的Matlab程序;打印输出经“灰度增强”、“平滑”、“锐化”、“伪彩色增强”、“图像复原”处理的图像及各自的原始图像;独立撰写实验报告,2023/9/18,实验方法、步骤1.读入一幅有明显明暗缺陷的灰度图像,分析其直方图特征,分别用分段灰度线性变换法、直方图均衡法和图像灰度调整法(imad
18、just)分别进行处理;在“资源管理器”下以“缩略图”的方式浏览图片库,发现名为“6_gray.jpg”的图像明显整体偏暗,在Matlab下读入该图像,用imhist函数提取该图像的灰度直方图(图3-1)。从该图像的灰度直方图可以看出:该图像大多数像素的灰度值在140以下,140240灰度级间象素数分布均匀,缺少240255灰度级的象素,将0255灰度级归一化到01,140对应0.55。,2023/9/18,图3-1,2023/9/18,分段灰度线性变换:根据上述分析,将原图像灰度值在0140采用线性变换到0200,140200线性变换到200255。变换后的图像及其灰度直方图见图3-2。直方
19、图均衡:在Matlab下用histeq函数可以对一幅图像直接进行直方图均衡,对“6_gray.jpg”做直方图均衡后的图像及其灰度直方图见图3-2。图像灰度调整:在Matlab下imadjust函数用以对图像的灰度级调整,根据前面分析,将0140调整到00.55,鉴于imadjust只能对一个灰度区间进行调整,对原图像140255不做调整。由于原图像明显偏暗,这里gamma去1的数0.7。调整后图像及其灰度直方图见图3-2。,2023/9/18,图3-2,%实验三_1:分段灰度线性变换、%直方图均衡和图像灰度调整clear;I=imread(6_gray.jpg);subplot(2,3,1)
20、;imshow(I);title(原始灰度图像);subplot(2,3,2);imhist(I);title(原始图像灰度直方图);%分段灰度线性变换法g0=0;f0=0;g1=200;f1=140;g2=255;f2=255;subplot(2,3,3);X=f0 f1 f2;Y=g0 g1 g2;plot(X,Y);title(变换线);k1=(g1-g0)/(f1-f0);k2=(g2-g1)/(f2-f1);m n=size(I);I=double(I);,for i=1:m;for j=1:n if(I(i,j)=f0),shiyan_3_1.m,2023/9/18,实验方法、步骤
21、2.读入一幅灰度图像,分别给其加上“乘性噪声”、“椒盐噪声”,然后分别用“均值滤波”、“中值滤波”对其做平滑处理;对“乘性噪声”图像进行“巴特沃斯滤波”做平滑处理;在Matlab下读入一幅灰度图像,I=imread(9_gray.jpg);分别对其添加“乘性噪声”、“椒盐噪声”。I_noise_salt_pepper=imnoise(I,salt,2023/9/18,对I_noise_salt_pepper和 I_noise_speckle用33模板做中值滤波 I_noise_salt_pepper_med=medfilt2(I_noise_salt_pepper,3,3);I_noise_s
22、peckle_med=medfilt2(I_noise_speckle,3,3);巴特沃斯滤波:首先对添加噪声的图像进行快速傅立叶变换 fft_I_noise_speckle=fft2(double(I_noise_speckle);移动频谱坐标中心到屏幕中心 fftshift(fft_I_noise_speckle);设定截止频率:Dcut=100;计算巴特沃斯传递函数:D(u,v)=sqrt(u2+v2);BUTTERH(u,v)=1/(1+(sqrt(2)-1)*(D(u,v)/Dcut)2);进行巴特沃斯滤波 BUTTERG=BUTTERH.*fft_I_noise_speckle;快
23、速傅立叶逆变换 BUTTERfiltered=ifft2(BUTTERG);,2023/9/18,图3-3,%实验三_2:对加上“乘性噪声”、“椒盐噪声”%用“均值滤波”、“中值滤波”对其做平滑处理;%对“乘性噪声”图像进行“巴特沃斯滤波”做平滑处理;clear;J,map=imread(18.jpg);I=rgb2gray(J);%添加“椒盐噪声”I_noise_salt_pepper=imnoise(I,salt,shiyan_3_2.m,%巴特沃斯滤波:%对添加噪声的图像进行快速傅立叶变换fft_I_noise_salt_pepper=fft2(double(I_noise_salt_p
24、epper);%移动频谱坐标中心到屏幕中心fftshift(fft_I_noise_salt_pepper);%设定截止频率:Dcut=100;%计算巴特沃斯传递函数:M N=size(I);for u=1:M for v=1:N D(u,v)=sqrt(u2+v2);BUTTERH(u,v)=1/(1+(sqrt(2)-1)*(D(u,v)/Dcut)2);endend%进行巴特沃斯滤波BUTTERG=BUTTERH.*fft_I_noise_salt_pepper;%快速傅立叶逆变换BUTTERfiltered=ifft2(BUTTERG);,2023/9/18,实验方法、步骤3.读入一幅
25、灰度图像,分别用“Sobel算子”、“Laplacian算子”、“梯形滤波器”对其做锐化处理;Matlab下在空间域对图像做锐化处理有两种方法,对于Matlab提供的算子,可以直接用滤波的方法,对于知道模板矩阵的,也可采取“模板-卷积”的方法。Matlab提供了“Sobel算子”,这里采取滤波的方法,对“Laplacian算子,其模板矩阵为0 1 0,1-4 1,0 1 0,这里采取“模板-卷积”的方法。Matlab下在频率域对图像做锐化处理方法与平滑类似。,shiyan_3_3.m,2023/9/18,图3-4,实验方法、步骤4.读入一幅灰度图像,分别用“灰度级分层法”、“灰度变换法”和“频
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字图像 处理 实验 指导书

链接地址:https://www.31ppt.com/p-6050052.html