《现代测试技术》实验报告三Word下载.docx

上传人:b****5 文档编号:17595635 上传时间:2022-12-07 格式:DOCX 页数:23 大小:926.72KB
下载 相关 举报
《现代测试技术》实验报告三Word下载.docx_第1页
第1页 / 共23页
《现代测试技术》实验报告三Word下载.docx_第2页
第2页 / 共23页
《现代测试技术》实验报告三Word下载.docx_第3页
第3页 / 共23页
《现代测试技术》实验报告三Word下载.docx_第4页
第4页 / 共23页
《现代测试技术》实验报告三Word下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

《现代测试技术》实验报告三Word下载.docx

《《现代测试技术》实验报告三Word下载.docx》由会员分享,可在线阅读,更多相关《《现代测试技术》实验报告三Word下载.docx(23页珍藏版)》请在冰豆网上搜索。

《现代测试技术》实验报告三Word下载.docx

有时原图的动态范围太大,超出某些显示设备的允许动态范围,如直接使用原图,则一部分细节可能丢失。

解决的方法是对原图进行灰度压缩,如对数变换:

s=clog(1+r),c为常数,r≥0

3)幂次变换:

4)对比拉伸:

在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸:

图1.1图像的对比拉伸

其对应的数学表达式为:

2.直方图均衡化

灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计特征。

依据定义,在离散形式下,用rk代表离散灰度级,用pr(rk)代表pr(r),并且有下式成立:

式中:

nk为图像中出现rk级灰度的像素数,n是图像像素总数,而nk/n即为频数。

直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。

假定变换函数为

(a)Lena图像(b)Lena图像的直方图

图1.2Lena图像及直方图

当灰度级是离散值时,可用频数近似代替概率值,即

l是灰度级的总数目,pr(rk)是取第k级灰度值的概率,nk是图像中出现第k级灰度的次数,n是图像中像素总数。

所以积分可以表示为下列累计分布函数(cumulativedistributionfunction,CDF)

提高:

直方图线性变换;

进行分段线形变换处理,试比较与直方图均衡化处理的异同。

3.空间域增强

空间域滤波是在图像空间中借助模板对图像进行领域操作,处理图像每一个像素的取值都是根据模板对输入像素相应领域内的像素值进行计算得到的。

空域滤波基本上是让图像在频域空间内某个范围的分量受到抑制,同时保证其他分量不变,从而改变输出图像的频率分布,达到增强图像的目的。

空域滤波一般分为线性滤波和非线性滤波两类。

线性滤波器的设计常基于对傅立叶变换的分析,非线性空域滤波器则一般直接对领域进行操作。

各种空域滤波器根据功能主要分为平滑滤波器和锐化滤波器。

平滑可用低通来实现,平滑的目的可分为两类:

一类是模糊,目的是在提取较大的目标前去除太小的细节或将目标内的小肩端连接起来;

另一类是消除噪声。

锐化可用高通滤波来实现,锐化的目的是为了增强被模糊的细节。

结合这两种分类方法,

可将空间滤波增强分为四类:

线性平滑滤波器(低通)

非线性平滑滤波器(低通)

线性锐化滤波器(高通)

非线性锐化滤波器(高通)

空间滤波器都是基于模板卷积,其主要工作步骤是:

1)将模板在图中移动,并将模板中心与图中某个像素位置重合;

2)将模板上的系数与模板下对应的像素相乘;

3)将所有乘积相加;

4)将和(模板的输出响应)赋给图中对应模板中心位置的像素。

4.平滑滤波器

1)线性平滑滤波器

线性低通平滑滤波器也称为均值滤波器,这种滤波器的所有系数都是正数,对3×

的模板来说,最简单的是取所有系数为1,为了保持输出图像任然在原来图像的灰度值范围

内,模板与象素邻域的乘积都要除以9。

MATLAB提供了fspecial函数生成滤波时所用的模板,并提供filter2函数用指定的滤

波器模板对图像进行运算。

函数fspecial的语法格式为:

h=fspecial(type);

h=fspecial(type,parameters);

其中参数type指定滤波器的种类,parameters是与滤波器种类有关的具体参数。

表1.1MATLAB中预定义的滤波器种类

MATLAB提供了一个函数imnoise来给图像增添噪声,其语法格式为:

imnoise(I,type);

imnoise(I,type,parameters);

参数type指定噪声的种类,parameters是与噪声种类有关的具体参数。

参数的种类见表1.2。

表1.2噪声种类及参数说明

2)非线性平滑滤波器

中值滤波器是一种常用的非线性平滑滤波器,其滤波原理与均值滤波器方法类似,但计算的非加权求和,而是把领域中的图像的象素按灰度级进行排序,然后选择改组的中间值作为输出象素值。

MATLAB提供了medfilt2函数来实现中值滤波,其语法格式为:

B=medfilt2(A,[mn]);

B=medfilt2(A);

其中,A是原图象,B是中值滤波后输出的图像。

[mn]指定滤波模板的大小,默认模板为3×

3。

5.锐化滤波器

图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,需要利用图像锐化技术,使图像的边缘变得清晰。

1)线性锐化滤波器

线性高通滤波器是最常用的线性锐化滤波器。

这种滤波器的中心系数都是正的,而周围的系数都是负的,所有的系数之和为0。

对3×

3的模板来说,典型的系数取值为:

[-1-1-1;

-18-1;

-1-1-1]

事实上这是拉普拉斯算子。

语句h=-fspecial(‘laplacian’,0.5)得到的拉普拉斯算子为:

h=-0.3333-0.3333-0.3333

-0.33332.6667-0.3333

-0.3333-0.3333-0.3333

2)非线性锐化滤波

邻域平均可以模糊图像,因为平均对应积分,所以利用微分可以锐化图像。

图像处理中最常用的微分方法是利用梯度。

常用的空域非线性锐化滤波微分算子有sobel算子、prewitt算子、log算子等。

三、实验思路、程序及结果

1.熟悉MATLAB语言中对图像数据读取,显示等基本函数

特别需要熟悉下列命令:

熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。

1)将MATLAB目录下work文件夹中的upc.tif图像文件读出。

用到imread,imfinfo等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。

将这个图像显示出来(用imshow)。

尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。

2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray()将其转化为灰度图像,记为变量B。

程序:

I=imread('

upc.tif'

);

info=imfinfo('

imshow(I);

B=rgb2gray(I);

结果:

info=

Filename:

'

FileModDate:

25-Dec-201219:

34:

21'

FileSize:

1132544

Format:

tif'

FormatVersion:

[]

Width:

798

Height:

481

BitDepth:

24

ColorType:

truecolor'

FormatSignature:

[7373420]

ByteOrder:

little-endian'

NewSubfileType:

0

BitsPerSample:

[888]

Compression:

PackBits'

PhotometricInterpretation:

RGB'

StripOffsets:

[161x1double]

SamplesPerPixel:

3

RowsPerStrip:

StripByteCounts:

XResolution:

72

YResolution:

ResolutionUnit:

Inch'

Colormap:

PlanarConfiguration:

Chunky'

TileWidth:

TileLength:

TileOffsets:

TileByteCounts:

Orientation:

1

FillOrder:

GrayResponseUnit:

0.0100

MaxSampleValue:

[255255255]

MinSampleValue:

Thresholding:

图1读取upc.tif图像

2.图像灰度变换处理在图像增强的作用

读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。

I=imread('

N=rgb2gray(I);

M=double(N)/255;

I1=uint8(255*M*0.5+0.5);

subplot(2,2,1);

subimage(I1);

I2=uint8(255*M*0.5+0.4);

subplot(2,2,2);

subimage(I2);

I3=uint8(255*M*0.5+0.2);

subplot(2,2,3);

subimage(I3);

I4=uint8(255*M*0.5+0.1);

subplot(2,2,4);

subimage(I4);

图2不同灰度图像

3.绘制图像灰度直方图的方法,对图像进行均衡化处理

请自己编程和调用Matlab函数完成如下实验。

1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别。

2)对B进行直方图均衡化处理,试比较与原图的异同。

imshow(B)

imhist(B)

c=imadjust(B,[0.30.7],[]);

imshow(c)

imhist(c)

d=histeq(B);

imshow(d)

imhist(d)

图3灰度图像

图4灰度图像直方图

图5调整灰度值后的图像

图6调整灰度值后的直方图

图7均衡化图像

图8均衡化直方图

通过比较可以发现:

调整灰度值以后图像的对比度增加了,但是图像太暗,均衡化以后可以增强局部对比度而不影响整体的对比度。

4.平滑空间滤波:

1)读出eight.tif这幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一图像窗口中。

2)对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。

3)使用函数imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。

4)运用for循环,将加有椒盐噪声的图像进行10次,20次均值滤波,查看其特点,显示均值处理后的图像(提示:

利用fspecial函数的’average’类型生成均值滤波器)。

5)对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。

6)自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。

1)I=imread('

B=rgb2gray(I);

m=imnoise(B,'

salt&

pepper'

0.04);

n=imnoise(B,'

gaussian'

0,0.04);

subplot(3,1,1),subimage(B);

title('

原图像'

subplot(3,1,2),subimage(m);

加入椒盐噪声后的图像'

subplot(3,1,3),subimage(n);

加入高斯噪声后的图像'

图9加入噪声前后对比

2)I=imread('

p=medfilt2(m);

q=medfilt2(n);

subplot(2,2,1),subimage(m);

subplot(2,2,2),subimage(n);

subplot(2,2,3),subimage(p);

加入椒盐噪声中值滤波后的图像'

subplot(2,2,4),subimage(q);

加入高斯噪声中值滤波后的图像'

图10中值滤波前后对比

p=wiener2(m,[3,4]);

q=wiener2(n,[3,4]);

加入椒盐噪声自适应滤波后的图像'

加入高斯噪声自适应滤波后的图像'

图11自适应滤波前后对比

p=medfilt2(n);

subplot(2,2,1),subimage(B);

图12不同滤波方法的效果

2)

>

J=rgb2gray(I);

J1=imnoise(J,'

J2=imnoise(J,'

Gaussian'

h1=ones(3,3)/9;

h2=ones(5,5)/25;

h3=ones(7,7)/49;

A1=imfilter(J1,h1);

A2=imfilter(J1,h2);

A3=imfilter(J1,h3);

subplot(221),subimage(J1);

subplot(222),subimage(A1);

加入椒盐噪声3*3均值滤波后的图像'

subplot(223),subimage(A2);

加入椒盐噪声4*4均值滤波后的图像'

subplot(224),subimage(A3);

加入椒盐噪声5*5均值滤波后的图像'

比较以上不同尺寸的均值滤波器进行低通滤波处理的结果可知,当所用的平滑模板的尺寸增大时,消除噪声的效果增强,但同时所得的图像变得模糊,细节的锐化程度逐步减弱。

3)

b1=imfilter(J1,h1,0);

b2=imfilter(J1,h1,'

symmetric'

b3=imfilter(J1,h1,'

replicate'

b4=imfilter(J1,h1,'

circular'

subplot(321),subimage(J1);

subplot(323),subimage(b1);

边界条件为零填充'

subplot(324),subimage(b2);

边界条件为symmetric'

subplot(325),subimage(b3);

边界条件为replicate'

subplot(326),subimage(b4);

边界条件为circular'

4)

fori=1:

10

c1=filter2(fspecial('

average'

3),J1)/255;

end

subplot(223),subimage(c1);

10次均值滤波后的图像'

forj=1:

20

c2=filter2(fspecial('

subplot(224),subimage(c2);

20次均值滤波后的图像'

5)

J=rgb2gray(I);

J1=imnoise(J,'

d1=filter2(fspecial('

d2=medfilt2(J1,[3,3]);

subplot(121),subimage(d1);

加入椒盐噪声均值滤波后的图像'

subplot(122),subimage(d2);

5.锐化空间滤波

读出blurry_moon.tif这幅图像,采用3×

3的拉普拉斯算子w=[1,1,1;

1–81;

1,1,1]对其进行滤波。

5

abc.tif'

I1=double(I);

h1=[1,1,1;

1,-8,1;

1,1,1];

a1=filter2(h1,I1);

b1=I1-a1;

subplot(121),subimage(I);

原图'

subplot(122),subimage(b1);

3的拉普拉斯算子滤波后的图像'

subplot(122),subimage(a1);

4、实验总结与心得:

在这次的实验课上主要是对课堂上讲过的有关数字图像处理的命令进行了练习,学会了很多函数的运用。

同时对RGB图像、索引图像、灰度图像,图像去噪、均衡化、增强对比度等都有了更加直观和深刻的认识,明白了图像变换的本质是二维矩阵的运算。

成绩

批阅人

批阅时间

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1