数字图像处理实验报告实验一数字图像基本操作及灰度调整一、实验目的1)掌握读、写图像的基本方法。
2)掌握MATLAB语言中图像数据与信息的读取方法。
3)理解图像灰度变换处理在图像增强的作用。
4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。
二、实验内容与要求1.熟悉MATLAB语言中对图像数据读取,显示等基本函数特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。
1)将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread,imfinfo等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。
将这个图像显示出来(用imshow)。
尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。
2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray()将其转化为灰度图像,记为变量B。
2.图像灰度变换处理在图像增强的作用读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。
3.绘制图像灰度直方图的方法,对图像进行均衡化处理请自己编程和调用Matlab函数完成如下实验。
1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别。
2) 对B 进行直方图均衡化处理,试比较与源图的异同。
3) 对B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。
图1.1 分段线性变换函数三、实验原理与算法分析1. 灰度变换灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。
1) 图像反转灰度级范围为[0, L-1]的图像反转可由下式获得r L s --=12)对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失。
解决的方法是对原图进行灰度压缩,如对数变换:s = c log(1 + r ),c 为常数,r ≥ 03)幂次变换:0,0,≥≥=γγc cr s4)对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸:其对应的数学表达式为:2.直方图均衡化灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计特征。
依据定义,在离散形式下, 用r k 代表离散灰度级,用p r (r k )代表p r (r ),并且有下式成立:nn r P kk r =)( 1,,2,1,010-=≤≤l k r k 式中:n k 为图像中出现r k 级灰度的像素数,n 是图像像素总数,而n k /n 即为频数。
直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。
假定变换函数为ωωd p r T s r r)()(0⎰==(a) Lena 图像 (b) Lena 图像的直方图图1.2 Lena 图像及直方图当灰度级是离散值时,可用频数近似代替概率值,即1,,1,010)(-=≤≤=l k r nn r p k k k r式中:l 是灰度级的总数目,p r (r k )是取第k 级灰度值的概率,n k 是图像中出现第k 级灰度的次数,n 是图像中像素总数。
所以积分可以表示为下列累计分布函数(cumulative distribution function, CDF)1,,1,010)()(0-=≤≤===∑∑==l k r r p nn r T s j kj j r kj j k k四、实验步骤1. 熟悉MATLAB 语言中对图像数据读取,显示等基本函数 1) 文件读取与信息显示:load trees;[X,map]=imread('forest.tif');subimage(X,map);I=imread('forest.tif');imshow(I);imfinfo('forest.tif');2)map颜色矩阵的修改[X,map]=imread('forest.tif');map1=map+map;subimage(X,map1);3)灰度图像的转化RGB=imread('b747.jpg');B=rgb2gray(RGB);2.图像灰度变换处理在图像增强的作用g1=imadjust(I,[0 1],[1 0]);g2=imcomplement(g1);g3=im2uint8(mat2gray(log(1+double(I))));3.绘制图像灰度直方图的方法,对图像进行均衡化处理1)图像灰度直方图的显示与灰度调整imhist(B);J = imadjust(B,[],[0 1]);imhist(J);subimage(J);2)对B进行直方图均衡化处理,试比较与原图的异同。
I = imread('pout.tif');[J,T] = histeq(I);figure,plot((0:255)/255,T);3)对B进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。
x1=0:0.01:0.125;x2=0.125:0.01:0.75;x3=0.75:0.01:1;y1=2*x1;y2=0.25+0.6*(x2-0.125);y3=0.625+1.5*(x3-0.75);x=[x1,x2,x3];y=[y1,y2,y3];subplot(2,2,4);plot(x,y);五、实验结果分析与讨论1.熟悉MATLAB语言中对图像数据读取,显示等基本函数1)图像文件的读出与图像数据的观察图1.3 真彩色图像与灰度图像显示ans =Filename: 'F:\MATLAB\R2007a\toolbox\images\imdemos\forest.tif' FileModDate: '04-Dec-2000 13:57:58'FileSize: 124888Format: 'tif'FormatVersion: []Width: 447Height: 301BitDepth: 8ColorType: 'indexed'FormatSignature: [73 73 42 0]ByteOrder: 'little-endian'NewSubFileType: 0BitsPerSample: 8Compression: 'PackBits'PhotometricInterpretation: 'RGB Palette'StripOffsets: [17x1 double]SamplesPerPixel: 1RowsPerStrip: 18StripByteCounts: [17x1 double]XResolution: 72YResolution: 72ResolutionUnit: 'Inch'Colormap: [256x3 double]PlanarConfiguration: 'Chunky'TileWidth: []TileLength: []TileOffsets: []TileByteCounts: []Orientation: 1FillOrder: 1GrayResponseUnit: 0.0100MaxSampleValue: 255MinSampleValue: 0Thresholding: 1ImageDescription: 'Carmanah Ancient Forest, British Columbia, Canada' map颜色矩阵修改后图像颜色的变化图1.4 原图像与map矩阵值增强一倍后的图像新的颜色矩阵值变成原文件的2倍,图像明显变亮,颜色的R、G、B值增强。
2)图像文件转化为灰度图像图1.5 真彩色图像与转化成的灰度图像2.图像灰度变换处理在图像增强的作用图1.6 灰度变化增强(图像反转、求补、对数变换)图中对图像文件进行了基本的灰度变换,包括用式s = L – 1 – r 得到的图像反转,对反转图像的求补,以及对数变换的采用。
3.绘制图像灰度直方图的方法,对图像进行均衡化处理1)图像灰度及灰度直方图的调整图1.7 灰度范围的调整与直方图显示在原始图像中,直方图的组成成分集中在高灰度等级(亮)一侧,且图像灰度范围为[0,1],故将灰度值调整到[0,1]间后直方图无明显变化。
类似的,将灰度值调整到[0,0.5]时,整个图像变暗,直方图横向压缩1倍。
2)直方图均衡化图1.8 原图像与灰度直方图均衡化结果原图像中目标物的灰度主要集中于高亮度部分,而且象素总数较多,所占的灰度等级较少。
经过直方图均衡后,目标物的所占的灰度等级得到扩展,对比度加强,使整个图像得到增强。
数字图像均衡化后,其直方图并非完全均匀分布,这是因为图像的象素个数和灰度等级均为离散值,而且均衡化使灰度级并归。
因此,均衡化后,其直方图并非完全均匀分布。
3)对B进行如图所示的分段线性变换处理图1.9 原图像与灰度直方图均衡化结果图1.10 线性变换函数图通过在所关心范围内为所有灰度值指定一个较高值,而为其他灰度指定一个较低值,或将所需范围变亮,分段线性变换可提高图像中特定灰度范围的亮度,常用于图像特征值的提取。
这里将原始图像位于[0.125,0.75]间的灰度值调低,放大其余的灰度值,突出显示图像低频域和高频域的部分。
六、参考文献[美] Rafael C.Gonzalez.数字图像处理(第二版)[M].阮秋琦阮宇智,译.北京:电子工业出版社,2003.3.实验二数字图像的空间域滤波和频域滤波一、实验目的1.掌握图像滤波的基本定义及目的。
2.理解空间域滤波的基本原理及方法。
3.掌握进行图像的空域滤波的方法。
4.掌握傅立叶变换及逆变换的基本原理方法。
5.理解频域滤波的基本原理及方法。
6.掌握进行图像的频域滤波的方法。
二、实验内容与要求1.平滑空间滤波:1)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。
2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。