logo资料库

中南大学数字图像处理实验报告.doc

第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
资料共46页,剩余部分请下载后查看
数字图像处理实验报告 学院:信息院 姓名:汪才华 学号:0902061305 指导老师:梁毅雄 时间:2009.6.1 0
目录 实验一:数字图像基本操作及灰度调整 1.实验目的****************************************1 2.实验基本原理************************************1 3.实验内容与要求**********************************3 4. 实验具体实现************************************4 实验二:数字图像的空间域滤波和频域滤波 1.实验目的****************************************9 2.实验基本原理************************************9 3.实验内容与要求**********************************12 4. 实验具体实现************************************14 实验三:图像分割与边缘检测 1.实验目的****************************************32 2.实验基本原理************************************32 3.实验内容与要求**********************************34 4. 实验具体实现************************************35 实验四:数学形态学及其应用 1.实验目的****************************************39 2.实验基本原理************************************39 3.实验内容与要求**********************************41 4. 实验具体实现************************************42 1
实验一:数字图像基本操作及灰度调整 1.实验目的 1) 掌握读、写图像的基本方法。 2) 掌握 MATLAB 语言中图像数据与信息的读取方法。 3) 理解图像灰度变换处理在图像增强的作用。 4) 掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。 2.实验原理 1. 灰度变换 灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数 字化及图象显示的重要工具。 1) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 1 r  L s 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接 使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变 换: 3) 幂次变换: s = clog(1 + r),c为常数,r≥ 0 s  cr ,  c  ,0   0 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展 拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性 拉伸: 其对应的数学表达式为: 2. 直方图均衡化 灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计 2
特征。依据定义,在离散形式下, 用 rk 代表离散灰度级,用 pr(rk)代表 pr(r),并且有下式 成立: ( rP r k ) n k n 0  rk  1 k  ,2,1,0  , l  1 式中:nk 为图像中出现 rk 级灰度的像素数,n 是图像像素总数,而 nk/n 即为频数。 直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。假定变换函数为 )( rTs  r 0 p r ( d ) (a) Lena图像 (b) Lena图像的直方图 图1.2 Lena图像及直方图 当灰度级是离散值时,可用频数近似代替概率值,即 ( rp r k )  n k n 0  r k  1 k  ,1,0  , l  1 式中:l 是灰度级的总数目,pr(rk)是取第 k级灰度值的概率,nk 是图像中出现第 k 级 灰度的次数,n 是图像中像素总数。 所以积分可以表示为下列累计分布函数(cumulative distribution function, CDF) s k  ( rT k )  k  j  0 n j n  k  j  0 ( rp r j ) 0  r j  1 k  ,1,0  , l  1 3、实验内容与要求 复制若干图形文件(如 forest.tif 和 b747.jpg)至 MATLAB 目录下 work 文件夹中。 1. 熟悉 MATLAB 语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉 imread()函数、imwrite()函数、size()函数、Subplot ()函数、Figure()函数。 1) 将 MATLAB 目录下 work 文件夹中的 forest.tif 图像文件读出.用到 imread,imfinfo 等文件,观察一下图像数据,了解一下数字图像在 MATLAB 中的处理就是处理一个矩阵。 将这个图像显示出来(用 imshow)。尝试修改 map 颜色矩阵的值,再将图像显示出来,观 察图像颜色的变化。 2) 将 MATLAB 目录下 work 文件夹中的 b747.jpg 图像文件读出,用 rgb2gray()将其 转化为灰度图像,记为变量 B。 3
2. 图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程和调用 Matlab 函数用常用灰度变换函数对输入图像 进行灰度变换,比较相应的处理效果。 3. 绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程和调用 Matlab 函数完成如下实验。 1) 显示 B 的图像及灰度直方图,可以发现其灰度值集中在一段区域,用 imadjust 函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直 方图与原灰度直方图的区别。 2) 对 B 进行直方图均衡化处理,试比较与源图的异同。 3) 对 B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。 图1.1 分段线性变换函数 4. 实验具体实现 1. 熟悉 MATLAB 语言中对图像数据读取,显示等基本函数 1) 文件读取与信息显示: load trees; [X,map]=imread('forest.tif'); subimage(X,map); I=imread('forest.tif'); imshow(I); imfinfo('forest.tif'); 4
ans = Filename: 'F:\MATLAB\R2007a\toolbox\images\imdemos\forest.tif' FileModDate: '04-Dec-2000 13:57:58' FileSize: 124888 Format: 'tif' FormatVersion: [] Width: 447 Height: 301 BitDepth: 8 ColorType: 'indexed' FormatSignature: [73 73 42 0] ByteOrder: 'little-endian' NewSubFileType: 0 BitsPerSample: 8 Compression: 'PackBits' PhotometricInterpretation: 'RGB Palette' StripOffsets: [17x1 double] SamplesPerPixel: 1 RowsPerStrip: 18 StripByteCounts: [17x1 double] XResolution: 72 YResolution: 72 ResolutionUnit: 'Inch' Colormap: [256x3 double] PlanarConfiguration: 'Chunky' TileWidth: [] TileLength: [] TileOffsets: [] TileByteCounts: [] Orientation: 1 FillOrder: 1 GrayResponseUnit: 0.0100 MaxSampleValue: 255 5
MinSampleValue: 0 Thresholding: 1 ImageDescription: 'Carmanah Ancient Forest, British Columbia, Canada' 2) map 颜色矩阵的修改 [X,map]=imread('forest.tif'); map1=map+map; subimage(X,map1); 新的颜色矩阵值变成原文件的 2 倍,图像明显变亮,颜色的 R、G、B 值增强。 3) 灰度图像的转化 RGB=imread('b747.jpg'); B=rgb2gray(RGB); 2. 图像灰度变换 处理在图像增 强的作用 g1=imadjust(I,[0 1],[1 0]); g2=imcomplement(g 1); g3=im2uint8(mat2gr ay(log(1+double(I)))) 6
; 图中对图像文件进行了基本的灰度变换,包括用式 s = L – 1 – r 得到的图像反转,对反 转图像的求补,以及对数变换的采用。 3. 绘制图像灰度直方图的方法,对图像进行均衡化处理 1) 图像灰度直方图的显示与灰度调整 imhist(B); J = imadjust(B,[],[0 1]); imhist(J); subimage(J); 在原始图像中,直方图的组成成分集中在高灰度等级(亮)一侧,且图像灰度范围为[0,1], 故将灰度值调整到[0,1]间后直方图无明显变化。类似的,将灰度值调整到[0,0.5]时,整个图 像变暗,直方图横向压缩 1 倍。 2) 对 B 进行直方图均衡化处理,试比较与原图的异同。 I = imread('pout.tif'); [J,T] = histeq(I); figure,plot((0:255)/255,T); 原图像中目标物的灰度主要集中于高亮度部分,而且象素总数较多,所占的灰度等级 较少。经过直方图均衡后,目标物的所占的灰度等级得到扩展,对比度加强,使整个图像得 7
分享到:
收藏