专业综合实验指导书(2)

2019-08-31 11:34

实验二 图像变换

一、实验目的

学习灰度变换修正图像的颜色和灰度的方法。学习图像直方图的生成和修正技术的原理和实现方法,理解其对于观察图像的意义。了解图像变换的意义和手段,熟练掌握傅里叶变换等图像正交变换方法,了解二维频谱的分布特点。

二、实验要求

1. 掌握灰度变换函数的用法,对图像进行灰度变换,增强对比度,显示变

换前后的图像以及它们的灰度直方图。

2. 选择一幅直方图不均匀的图像,对其作直方图均衡化处理,显示处理前

后的图像以及它们的灰度直方图。 3. 学习傅立叶变换等正交变换技术。

三、实验内容

1.灰度调整

函数imadjust是对灰度图像进行灰度变换的基本工具。其语法为 g=imadjust(f,[low_in high_in],[low_out high_out],gamma)

此函数将图像f中的亮度值映象到g中的新值,即将low_in至high_in之间的值映射到low_out high_out之间的值。low_in以下与high_in以上的值被剪切掉了。输入图像应为uint8类、uint16类或double类图像,输出图像与输入图像有着相同的类。需要注意的是,不管f属于哪一个类,函数imadjust指定的强度值的范围均为[0,1]。如果f是uint8类图像,则函数imadjust将乘以255来确定应用中的实际值;如果f是uint16类图像,则函数imadjust将乘以65 535。为[low_in high_in]或[low_out high_out]使用空矩阵([ ])会得到默认值[0 1]。若high_out小于low_out,则输出亮度会反转。

参数gamma指定了曲线的形状,该曲线用来映射f的亮度值,以便生成图像g。gamma的取值决定了输入图像到输出图像数据的映射方式,gamma<1,增强亮度;gamma>1,增强暗度,只有当gamma=1(缺省情况)时,这种映射才是线性映射。

例1 灰度调整举例 I=imread('h1.bmp');

J=imadjust(I,[0 0.2]),[0.5 1]; imshow(I);

figure,imshow(J)

这样的操作将显著增加图像的对比度,同时也扩宽了原始图像上黑色部分的变动范围,从而使摄影师所穿着的衣服的细节能够更容易分辨。

2.直方图均衡化

直方图是图像亮度分布的概率密度函数,是图像最基本的统计特征,它反映的是图像的灰度值的分布情况和图像的明暗分布规律,。直方图操作能有效地用于图像增强,其固有的信息还可用于在其他图像处理应用中,如图像压缩与分割。直方图在软件中易于计算,也适用于商用硬件设备,因此,它们成为了实时图像处理的一个流行工具。

直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。灰度直方图是图像预处理中涉及最广泛的基本概念之一。

直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。

直方图生成函数为imhist,其基本语法为

h=imhist(f,b)

其中,f为输入图像,h为其直方图,b是用于形成直方图的灰度级个数。若b未包含在此变量中,则其默认值为256。若处理的一幅uint8类图像,且b=2,则亮度标度范围被分成两个部分:0至127和128至255。所得的直方图将有两个值:h(1)等于图像在区间[0,127]内的像素总数,h(2)等于图像在区间[128,255]内的像素总数。

直方图均衡化由工具箱中的函数histeq实现,该函数的语法为

g=histeq(f,nlev)

式中,f为输入图像,nlev是为输出图像指定的灰度级数。若nlev等于L(输入图像中可能的灰度级的总数),则histeq直接执行变换函数T(rk)。若nlev小于L,则histeq试图划分灰度级,以便能够得到较为平坦的直方图。histeq中的默认值为nlev=64。

例2 直方图均衡化示例

I=imread('tire.tif'); % 读入原图像

J=histeq(I); %对原图像进行直方图均衡化处理 imshow(I); %显示原图像

title('原图像'); %给原图像加标题名

figure,imshow(J); %对原图像进行屏幕控制;显示直方图均衡化后的图像 title('直方图均衡化所得图像'); %给直方图均衡化后的图像加标题名

figure;subplot(121); %对直方图均衡化后的图像进行屏幕控制;作一幅子图作为并排两幅图的第1幅图

imhist(I,64); %将原图像直方图显示为64级灰度 title('原图像直方图'); %给原图像直方图加标题名 subplot(122); %作第2幅子图

imhist(J,64); %将均衡化后图像的直方图显示为64级灰度 title(‘均衡变换后的直方图’); %给均衡化后图像直方图加标题名 直方图均衡化修正后,图像直方图灰度间隔被拉大了,处理后的图像直方图分布更均匀了,图像在每个灰度级上都有像素点。从处理前后的图像可以看出,许多在原始图像中看不清楚的细节在直方图均衡化处理后所得到的图像中都变

得十分清晰。从而实现图像增强,有利于图像的分析与识别。

3.直方图匹配(规定化)

函数histeq实现直方图匹配的形式为:

g=histeq(f,hspec)

其中,f为输入图像,hspec为指定的直方图(一个由指定值构成的行向量),g为输出图像,其直方图近似于指定的直方图hspec。向量中包含对应于等分空间bin的整数值。histeq的一个特性是在length(hspec)远小于图像f中的灰度级数时,图像g的直方图通常会较好地匹配hspec。

例3 直方图规定化 I=imread('tire.tif');

hgram=50:2:250; %规定化函数 J=histeq(I,hgram); imshow(J)

title('直方图规定化所得图像') figure,imhist(J,64)

title('直方图规定化变换后的直方图')

4. 图像正交变换

图像二维正交变换在数字图像处理中扮演着重要的角色,如,在傅里叶变换(FT, Fourier Transform)域中,高频分量往往对应图像的边缘,利用这一性质可以从图像中抽取特征。又如,傅里叶变换后,图像能量往往集中在少数项上,或者说能量主要集中在低频分量上,于是通过对低频成分分配较多的比特数,对高频成分分配较少的比特数,即可实现图像数据压缩。再者,舍弃变换函数矩阵中某

些幅度小的系数,可缩减计算维数,提高计算速度等等。

在实际应用中离散傅里叶变换DFT及其逆变换可以通过使用快速傅里叶变换(FFT)算法来实现。一个大小为M×N的图像数组f可以通过使用函数fft2得到,该函数的简单语法为:

Y=fft2(X)

返回二维离散傅里叶变换,结果Y和X的大小相同。仍为M×N,数据排列形式为:数据的原点在左上角,而四个四分之一周期交汇于频率矩形的中心。

使用傅里叶变换时,需要对输入数据进行零填充。在这种情况下,调用格式如下:

Y=fft2(X,P,Q)

使用该语法,fft2将使用所要求的0的个数对输入图像进行填充,以便结果函数的大小为P×Q。

傅里叶频谱可以使用函数abs来获得:

F=abs(Y)

该函数计算数组的每一个元素的幅度(实部和虚部平方和的平方根)。 函数fftshift将变换的原点移动到频率矩形的中心。其语法为:

C=fftshift(Y)

其中,Y是用fft2计算得到的变换,C是已居中的变换。该函数变换相当于将输入图像乘以(-1)x+y所得到的结果。但要注意的是,这两种处理过程不可互换。即fftshift(fft2(f))?fft2(fftshift(f))。可以用下面的命令行显示居中后的频谱:

>>C=fftshift(Y);

>>imshow(abs(C2),[ ])

虽然频谱移中后适于观看了,但该频谱中值的动态范围(0到204 000)与8比特显示相比要大得多。此时可以使用对数变换来解决该问题。如:

>>F2=log(1+abs(C)); >>imshow(F2,[ ])

傅里叶逆变换可以用函数ifft2实现,其基本语法为 f=ifft2(F)

其中,F是傅里叶变换,f是结果图像。

例4 利用MATLAB软件实现数字图像傅立叶变换的程序: I=imread('h1.bmp'); %读入原图像文件 imshow(I); %显示原图像

fftI=fft2(I); %二维离散傅立叶变换 sfftI=fftshift(fftI); %直流分量移到频谱中心 RR=real(sfftI); %取傅立叶变换的实部 II=imag(sfftI); %取傅立叶变换的虚部 A=sqrt(RR.^2+II.^2);%计算频谱幅值

A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; %归一化 figure; %设定窗口

imshow(A); %显示原图像的频谱

四、实验步骤

1.打开计算机,启动MATLAB程序;程序组中“work”文件夹中应有待处理的图像文件;

2.调入“直方图”文件夹中的四幅数字图像,并进行直方图均衡化处理,显示原图像的直方图和经过均衡化处理过的图像直方图。

3.利用MatLab工具箱中的函数编制FFT频谱显示的函数;

4.a).调入、显示“正交变换”文件夹中的图像;图像存储格式为“.bmp”; b) 对这四幅图像做FFT并利用自编的函数显示其频谱; c) 讨论不同的图像内容与FFT频谱之间的对应关系。 5.记录和整理实验报告。

五、实验仪器

1.计算机 Pentium Ⅳ;CPU 586以上;32M以上内存;Windows XP操作系统;Matlab 7软件;

2.MATLAB程序;

3.移动式存储器(U盘等)。 4.记录用的笔、纸。

六、实验报告内容

1.叙述实验过程;

2.描述实验中编写的图像处理源代码。 3.提交实验的原始图像和结果图像。 4.总结并分析实验结果。

七、思考题

1.直方图是什么概念?它反映了图像的什么信息? 2.直方图均衡化是什么意思?它的主要用途是什么? 3.直方图规定化是什么意思?它的主要用途是什么? 4.傅里叶变换有哪些重要的性质?

5.图像的二维频谱在显示和处理时应注意什么?

实验三 图像增强

一、实验目的

掌握常见的图像噪声种类。学习用于图像增强中的去噪声等平滑技术。理解在空间域邻域平均法和中值滤波的原理、特点、适用对象。学习用于突出目标形状特征、改善视觉效果的图像锐化技术的原理和常用方法。

二、实验要求

1.用邻域平均法对含噪声图像进行滤波,比较不同邻域半径的处理效果。 2.用邻域平均法和中值滤波两种方法分别处理叠加椒盐噪声和高斯噪声的图像,比较其滤波效果。

三、实验原理及内容


专业综合实验指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程施工类论文终稿样例12

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: