数字图像处理实验讲义16学时2011年版

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1 图像基本操作

1. 实验要求

在MATLAB环境下完成下列操作:

读入图像;

保存图像;

图像的显示方法

2. 实验类型验证型

3. 实验时间2学时

4. 实验方法

使用函数imread可以将图像读入MATLAB环境,imread的语法为

imread( …filename‟ )

imread所支持的文件格式包括:

TIFF---------- .tif .tiff

JPEG-------- .jpg .jpeg

GIF----------- .gif

BMP--------- .bmp

PNG--------- .png

XWD--------- .xwd

使用函数imwrite可以将图像保存在磁盘上,imwrite的语法为

imwrite( f, …filename‟ )

使用函数size可以察看图像大小,size的语法为

size( )

使用函数imfinfo可以察看图像信息,imfinfo的语法为

imfinfo filename

使用函数imshow可以显示图像缩略图,imshow的语法为

imshow ( )

使用函数imview可以显示图像原图,imview的语法为,不同的是imview是一个工具,可以完成一些基本的图像操作

imview ( )

使用函数figure可以开辟一个新的窗口,figure的语法为

figure, imshow ( )

figure, imview ( )

figure, plot ( )

…………………

使用数据类型转换函数可以转换图像数据类型,如

im2uint8 ( ) ------------------ convert image to uint8

im2uint16 ( ) ---------------- convert image to uint16

mat2gray ( ) ----------------- convert image to double, range[0 , 1]

im2double ( ) ---------------- convert image to double

im2bw ( ) --------------------- convert image to logical

5. 实验过程

使用函数imread打开一幅灰度图像(fig0309abc.jpg),使用函数imwrite将图像另存为不同的文件名;在此过程中观察图像矩阵的形式,并用图像矩阵的索引法,观察并记录5×5的矩阵片断;

使用函数size察看图像大小,使用函数imfinfo察看图像信息;记录图像信息;

分别使用函数imshow和函数imview显示图像;记录两种方式的区别;

使用函数imread打开一幅彩色图像(start.jpg),观察图像矩阵的形式;并分别观察和记录RGB三色5×5的矩阵片断;

使用函数rgb2gray将彩色图像转换为灰度图像;

使用im2uint8和im2double转换图像的数据类型,记录5×5矩阵片断在转换前后的变化。

实验2 图像点运算

1.实验要求

在MATLAB环境下完成下列操作:

读入图像;

图像灰度变换方法;

灰度的对数扩展法;

绘制灰度直方图;

直方图均衡法;

任意灰度变换实现;

2.实验类型验证型

3.实验时间2学时

4.实验方法

使用函数imadjust可以实现图像灰度变换,imadjust的语法为

imadjust ( f, [ low_in high_in ], [ low_out high_out ], gamma )

gamma所表示的意义:

>1 ---------- 凹曲线

<1 ---------- 凸曲线

=1 ---------- 直线

灰度的对数扩展法g = c*log( 1+ double( f ) )

目的是使亮区域得到抑制,暗区域灰度得到均匀增强

使用语句

im2uint8(mat2gray( log( 1+ double (f) ) ) )

其中系数c通过mat2gray函数自动调整

灰度直方图反映图像的灰度分布情况,即亮度分布情况;

它说明不同灰度的像素个数或分布概率

使用函数imhist绘制灰度直方图,imhist的语法为

h = imhist( f );

figure, imhist( f );

figure, plot( h );

figure, stem( h );

figure, bar( h );

由于拍摄和处理的原因,导致图像的灰度分布范围过小;

最大熵原理指出:数据满足均匀分布时,信息量最大;

依据这个原理,通过灰度直方图均衡化将图像灰度分布扩展到整个灰度分布范围,可以使图形信息量最大,即使使得图像对比度增强。

使用函数histeq对图像进行直方图均衡,histeq的语法为

g = histeq( f, nlev ); % nlev为输出的灰度级数,通常取256,默认64

figure, imhist(g);

任意灰度变换需要进行分段计算,如图1

g = β*(f-a)+ga , a≤f<b ;

γ*(f-b)+gb , b≤f≤c ;

5.实验过程

使用函数imread打开一幅灰度图像(fig0222b.jpg),使用函数imadjust实现图像灰度变换;

分别使用:

g1= imadjust ( f, [ 20 255 ], [ 0 255 ], 0.5 );

g2= imadjust ( f, [ 20 255 ], [ 0 255 ], 1 );

g3= imadjust ( f, [ 20 255 ], [ 0 255 ], 2 );

g4= imadjust ( f, [ 0 255 ], [ 255 05 ], 1 );

figure, imshow(g1);

figure, imshow(g2);

figure, imshow(g3);

figure, imshow(g4);

观察并记录四种变换差别。(注意:请将方括号内的整数需要手工折算成浮点数)

使用函数imread打开一幅灰度图像(fig0305.tif),使用如下语句进行对数扩展

figure, imshow(f2);

g5= im2uint8(mat2gray(log(1+double (f2))));

figure, imshow(g5);

观察并记录均衡前后的差别。

使用函数imread打开一幅灰度图像(fig0222b.jpg),使用函数imhist绘制灰度直方图,直方图有四种表现形式

h = imhist( f3 );

figure, imhist( f3 );

figure, plot( h );

figure, stem( h );

figure, bar( h );

观察四种直方图的差别。

使用函数imread打开一幅灰度图像(fig0308.tif),说明这幅图像直方图存在的问题。

相关文档
最新文档