数字图像处理实验指导书
- 格式:doc
- 大小:52.92 KB
- 文档页数:9
数字图像处理实验指导书2010年8月目录实验一数字图像的输入输出实验二数字图像的频域变换实验三数字图像的增强实验四图像的几何校正实验五图像分割实验一:图像的输入输出(2学时)实验目的:1、学习数字图像的计算机描述和存储格式,熟悉MATALAB环境下图像的类型及其转换,熟练掌握图像输入输出的基本技术。
2、学习图像统计指标的计算、熟悉各项指标在图像处理中的意义3、研究图像采样、量化分辨率对图像质量的影响。
实验内容:1. 熟悉MA TLAB图像处理环境,应用MATLAB图像处理环境完成图像的输入输出。
(1)输入一幅彩色图像,将其变换成索引图像、灰度图像、二值图像,并在同一画面输出四幅图像。
(2)输入一幅灰度图像,变成索引图像、彩色图像、输出。
2.计算彩色图像、索引图像、灰度图像、二值图像的大小,计算存储空间、灰度平均值、相关系数。
3. 选定一幅灰度图像,设计不同的采样标准,分析采样标准对图像质量的影响。
例如一幅M*N的图像,分别以1/2M*N、1/4M*N、等采样。
3. 选定一幅图像,设计不同的量化标准,比较不同量化标准对图像质量的影响。
例如,分别采用256、128、32、16等灰度级量化一幅图像。
实验原理:1、图像的表示:数字图像分为彩色图像、索引图像、灰度图像、二值图像。
彩色图像使用红、绿、蓝三种颜色表示。
每种颜色分为256级,每级使用8位表示,共用24位表示一个像素,可以描述1677万种色彩。
索引图像能表示256种颜色,每种色彩其使用24位表示,以索引矩阵的方式存储,占用256*24的空间,图像以8位表示一个像素。
灰度图像只含亮度信息,每个像素用8位二进制数表示;二值图像只含两种信息,黑和白,只用一位二进制数表示一个像素。
2、不同类型图像之间的转换:彩色图像可以转换为索引图像,按照索引矩阵,以最接近颜色替换完成。
彩色图像、索引图像转换为灰度图像,只保留亮度信息。
彩色、索引、灰度图像转换为二值图像采用阈值分割的方法,即选定一个阈值,大于此阈值的像素取1,小于此阈值的像素取0。
灰度图像转换成彩色图像,采用索引的方式。
3、采样、量化原理:对于连续图像f(x,y)进行采样量化变成数字图像,分两步进:首先,在空间上对图像进行采样,将空间连续的图像转换成离散的像素集合;第二步,对每一个像素的亮度进行量化处理,使得像素函数成为可以用二进制数表示的整数。
采样、量化的过程会产生误差,影响图像质量。
4、描述图像的统计参数图像的大小:M*N ,M 表示图像的宽度,N 表示图像的高度。
图像的灰度平均值:灰度标准差实验方法:设计matlab 程序,在计算机中处理图像,输出结果。
1. 设计程序从文档文件夹中读取图像,查看图像的存储形式,显示图像的分辨率。
2. 设计程序将图像分别以灰度图像,索引图像,二值图像,RGB 图像的形式输出,比较它们所占的存储空间大小,计算它们的统计指标。
3. 设计不同采样、量化标准的程序,运行,记录结果。
实验要求:1、进实验室前必须设计好程序。
2、认真调试,记录结果。
3、实验报告必须有实验结论分析。
实验设备:MATLAB 实验环境,图像输入输出设备,图像处理设备。
1100(,)M N i j f i j f MN --===∑∑1100[(,)]M N i j f i j f s MN --==-=∑∑附录:常matlab函数语句。
1.将任意一幅图像存储为( ‘name’.fig),或属性定义打开方式为matalab,则可以在matalab环境下进行处理2.将目标图像在matalab环境下打开,可以用command window对话框直接键入命令。
用I=imread(‘name’)可以看到原始矩阵,用[m,n]=size(‘name’)可以求出图像大小,即M*N。
3.灰度图像显示:imagesc(I,[0,256]);colormap(gray).4.索引图像的显示:image(I);colormap(map)5.灰度图像转化为索引图像使用:[x,map]=gray2ind(I,n)6.索引图像转化为灰度图像使用:I=ind2gray(x,map)7.彩色图像的显示:image(rgb).8.RGB图像转化为灰度图像使用: I=rgb2gray(RGB)9.RGB图像转化为索引图像使用: (1)[x,map]=rgb2ind(RGB,n); (用最小方差量化将RGB转换为索引图像x,map中至少包含n个颜色。
(2) I=rgb2ind (RGB,map)(3)[ ]=rgb2ind (…,dither_option)(将RGB中的颜色与map中最相近的颜色匹配。
利用dither_option来设置是否抖动。
(4)I=rgb2ind (RGB);10.索引图像转化为RGB图像使用RGB=ind2rgb(x,map)11.B=im2bw[I,map,level] 索引转换为二值;12.B=im2bw[I, level] 灰度转换为二值13.B=im2bw[RGB, level]彩色转换为二值14.图像的读取用:I=imread(‘name’);图像的显示用imshow(),subimage和subplot结合可以显示多幅图。
例如:subplot(1,2,1);subimage(rgb);title(‘lily.tif’);subplot(1,2,2);subimage(x,map);title(‘women.mat’);15.图像的保存,用file-save as.或直接存取。
16.Toolbox中的读图像I/O的Imfinfo函数了解图像信息;impixel确定图像大小,mean2计算灰度平均值,std2计算标准差。
实验二图像的频域变换一、实验目的:1、掌握Fourier,DCT和Radon变换、反变换的算法实现,并初步理解Fourier、Radon 和DCT变换的物理意义。
2、利用傅里叶变换、离散余弦变换处理图像。
二、实验要求:1.用Fourier、Radon和DCT变换算法对图像作二维Fourier、Radon和DCT变换,并输出变换结果,分析图像频域和空域之间的关系。
2.用Fourier、Radon和DCT反变换算法对图像作二维Fourier、Radon和DCT反变换。
3.分别选择频域低通、高通滤波器对同一幅图像进行滤波,观察分析滤波后的图像变化特征。
三、实验步骤:1.用Fourier、Radon和DCT变换算法,对图像作二维Fourier、Radon和DCT变换和反变换(考虑图像为256*256,可以采用快速Fourier变换方法),并比较反变换后的图像与原图像的视觉效果;2.用DCT变换实现图像的压缩,计算压缩比。
3.利用高斯滤波器对图像进行滤波处理后输出。
实验方法:设计matlab程序,在计算机中处理图像,输出结果。
1.设计程序生成一幅图像图像,利用函数F=fft2(‘name’,m,n)对图像进行傅里叶变换。
利用函数imshow(log(abs(F),[ ] )输出图像的幅频特性,2.利用函数F=ifft2(‘name’)完成傅里叶反变换。
3.利用函数B=dct2(‘name’,[m,n])对图像进行离散余弦变换。
利用函数imshow(log(abs(B),[ ] )输出图像的幅频特性,4.利用函数B=idct2(‘name’)完成傅里叶反变换。
5.利用dct变换对图像进行压缩处理,计算压缩前后的图像大小。
实验要求:1、进实验室前必须设计好程序。
2、认真调试,记录结果。
3、实验报告必须有实验结论分析。
实验设备:MATLAB实验环境,图像输入输出设备,图像处理设备。
实验三:数字图像的增强(4学时)1.熟练掌握图像的灰度变换增强,二维滤波增强,锐化处理的原理。
2.自如的应用MATLAB环境对图像进行灰度变换、直方图处理,平滑处理,锐化处理。
实验内容:1.对已知图像作灰度变换增强,分析不同变换函数对同一图像处理的结果。
2.作出已知图像的直方图,对图像进行直方图修正,分析修正结果3.分别对图像进行均匀滤波和中值滤波。
4.分别用几种不同方式对已知图像进行锐化处理。
实验原理:1、灰度变换灰度变换是直接对像素进行处理,常用三种基本函数,线性函数、对数函数、幂函数。
可以完成图像的反转、拉伸、γ校正等,改变图像对比度、增加灰度宽度。
2、直方图校正直方图是图像的灰度概率统计图,修改直方图可以改变图像灰度分布状态,从而改变图像对比度。
3、图像滤波器图像滤波器实质上是一种离散卷积处理,也叫掩膜操作。
通过使用不同模板获得不同结果。
平滑模板使图像模糊但可消除噪声,锐化模板可以提高线、点的立体效果从而实现图像分割的功能。
实验方法:使用matlab处理实验基本要求:1.设计程序求出已知图像的直方图,将原图像亮度提高20后再作直方图,在同一画面输出。
2.设计程序将已知图像添加椒盐噪声,分别用均匀滤波,和中值滤波处理,与原图像在同一画面输出。
3.设计程序将求出已知图像中目标物的轮廓与原图像在同一画面输出。
MATLAB实验环境,图像输入输出设备,图像处理设备。
参考资料1、灰度线性变换增强使用:J=imadjust(I,[low high],[bottom top],gamma); [low high]原图像要变换的灰度范围,[bottom top]指定的变换后的灰度范围,gamma为校正量,gamma=1线性校正,gamma>1抛物线校正,gamma<1三次曲线校正。
newmap=imadjust(map,[low high],[bottom top],gamma)调整索引图像的调色板。
2、直方图显示使用imhist(A),直方图均衡化使用J=histeq(I,n) n表示输出图像的灰度级数目,默认64;[J,T]=histeq(I,…)表示I的直方图变成J的直方图T。
直方图规定化使用J=histeq(I,n,hgram) hgram指定直方图向量。
3、建立滤波算子:h=fspecial (type); h=fspecial (type,para),其中type指定算子的类型,有:‘average’均值滤波,参数hsize代表模板尺寸,默认为[3,3];‘disk’圆形区域的均值滤波,参数为radius代表区域半径,默认为5;‘gaussian’为低通高斯滤波,参数hsize代表模板尺寸,默认为[3,3],sigma是滤波的标准差/象素,默认为0.5;’laplacian’为拉普拉斯算子,参数alpha用于控制算子形状,取值[0,1],默认为0.2;‘log’为拉普拉斯-高斯算子,参数hsize代表模板尺寸,默认为[3,3],sigma是滤波的标准差/象素,默认为0.5;‘motion’运动模糊算子,表示摄像物体逆时针方向以thera角度运动了hen 个象素,len默认为9,thera默认为0;‘prewitt’边缘增强,大小[3,3];‘sobel’边缘提取;‘unsharp’对比度增强滤波,参数alpha用于控制滤波器的形状,取值[0,1],默认为0.2。