数字图像处理实验指导书

更新时间:2024-04-11 21:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数字图像处理与传输

实验一 灰度图像的对比度线性展宽

一、实验目的

让学生通过使用对图像采用线性对比度展宽的方法进行处理,获得对图像画质的改善。

二、实验原理与方法

对比度线性展宽处理,其实质是对图像灰度值的一个线性映射——通过这种方式来实现突出图像中重要信息的目的。通常情况下,处理前后的图像灰度级是相同的,即处理前后的图像灰度级都为[0,255]。那么,从原理上讲,我们就只能通过抑制非重要信息的对比度来腾出空间给重要信息进行对比度展宽。

g(i,j) 255 gb ? ? ga ? 0

f(i,j)

fa fb 255 图1.1 对比度线性展宽映射关系

设原图像的灰度为f(i,j),处理后的图像的灰度为g(i,j),对比度线性展宽的原理示意图如图1.1所示。假设原图像中我们关心的景物的灰度分布在[fa,

fb]区间内,处理后的图像中,我们关心的景物的灰度分布在[ga,gb]区间内。在这里?g?(gb?ga)??f?(fb?fa),也就是说我们所关心的景物的灰度级得到了展宽。根据图中所示的映射关系中分段直线的斜率我们可以得出线性对比度展宽的计算公式:

1

数字图像处理与传输

?f(i,j), 0?f(i,j)?fa

g(i,j)? ?(f(i,j)?fa)?ga,

(i?1,2,3?,m;j?1,2,3?,n) 其中,??

fa?f(i.,j)?fb (1-1) fb?f(i,j)?255

?(f(i,j)?fb)?gb,

gag?ga255?gb,??b,??,图像的大小为m×n。 fafb?fa255?fb三、实验内容与步骤

1.熟悉MATLAB语言的使用,主要包括图像处理相关的语句、表达式,以及变量的使用。

2.按照所给出的参考伪代码编写程序,实现对一幅灰度图像的对比度线性展宽。

3.调整?,?,?的值,观察对处理结果的影响。

四、思考问题

1.在映射关系中,分段直线的斜率的大小对图像处理结果有哪些影响? 2.在进行对比度展宽的时候,如果确定和选取所关心的景物?

五、参考伪代码程序

[image, map]=imread(‘实验图像.BMP’);

%读入一幅灰度图像,放在二维数组变量image 中。 [m,n]=size(image); %得到图像的宽高。 result=zeros(m,n);

%开辟新的空间,存放结果图像。 fa=50; fb=200;

%输入所关心的图像景物的灰度分布范围[fa,fb]。

2

数字图像处理与传输

image=double(image); %转换数据类型。

(因为在MATLAB中,图像的像素值为uint8型数据描述的,而这种类型不允许进行算术运算,所以要对F进行数据类型转换,即:F=double(F);然后,在进行循环处理。)

%设计两重循环(即:for (i=1:m) for(j=1:n))按照公式(1-1),给出新图像的每个像素点的灰度值; for i=1:m

end

%显示原图image与处理后的新图result; figure(1) imshow(image); figure(2) imshow(result);

imwrite(G, map,’结果图.bmp’)

%将新图result保存为.bmp位图后结束。

六、实验报告要求

1.简述实验目的和实验原理。

2.根据伪代码,完成编写为MATLAB程序,并实现更多的功能。 3.分析实验结果。 4.回答思考问题。

for j=1:n end

…… %按照公式(1-1)计算出结果,并负值到结果图中。

3

数字图像处理与传输

实验二 图像去噪与边缘锐化

一、实验目的

采用均值滤波器分别对具有高斯噪声和椒盐噪声的图像进行滤波处理,比较滤波器对两种噪声的抑制效果。

采用Laplacian锐化算子对图像进行边缘锐化处理。

二、实验原理与方法

均值滤波器实际上就是对包含噪声的图像上的每个像素点,用一个给定的模板,模板的中心放在待处理像素的位置上,将模板内全体像素的均值替代原来的像素值即可。

例如,采用一个3×3的模板,待处理的像素为f(i,j),则处理后图像对应的像素值为g(i-1,j+1)

g(i,j)=1/9*(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j)+

f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1,j+1));

(2-1)

采用Laplacian锐化算子进行图像边缘的锐化,是采用二阶差分运算获得像素间的差异值,由此,获得对图像景物边界的锐化。Laplacian也可以算子也可以写成是模板作用的方式,如下:

设待处理的像素为f(i,j),则处理后图像对应的像素值为g(i-1,j+1),则 g(i,j)=4*f(i,j) -(f(i-1,j-1)+f(i,j-1)+f(i,j+1)+f(i+1,j)); (2-2)

三、实验内容与步骤

1.熟悉MATLAB语言的使用,主要包括图像处理相关的语句、表达式,以及变量的使用。

2.按照所给出的参考伪代码编写程序,实现对一幅包含高斯噪声以及椒盐噪声的灰度图像进行均值滤波。

3.调整滤波器模板的大小(分别比较3×3,5×5,7×7的模板),观察对

4

数字图像处理与传输

处理结果的影响。

3.对输入的图像采用Laplacian锐化算子进行滤波处理,并观察锐化算子对景物的哪些边缘的增强效果比较明显。

4.采用两种以上的方法对锐化后的小于0的数据进行标准化处理,观察不同方法所获得的不同处理效果。

四、思考问题

1.采用均值滤波,对高斯噪声和椒盐噪声的抑制哪种比较有效? 2.模板大小的不同,所处理效果有何不同?为什么?

3.对Laplacian锐化算子的处理结果中,对小于0的部分,采用不同的方法标准化到[0,255]时,图像的显示效果有什么不同?为什么?

五、参考伪代码程序 1.均值滤波去噪

[image, map]=imread(‘实验图像.BMP’);

%读入一幅灰度图像,放在二维数组变量image 中。 [m,n]=size(image); %得到图像的宽高。 result=zeros(m,n);

%开辟新的空间,存放结果图像。 template_size=3;

%输入作用模板的大小(或5×5或7×7); image=double(image); %转换数据类型。

(因为在MATLAB中,图像的像素值为uint8型数据描述的,而这种类型不允许进行算术运算,所以要对F进行数据类型转换,即:F=double(F);然后,在进行循环处理。)

%设计两重循环(即:for (i=1:m) for(j=1:n))按照均值滤波原理,给出新图像的每个像素点的灰度值; for i=1:m

5

数字图像处理与传输

end

for j=1:n

……%计算3×3模板像素的均值(如公式(2-1)),负值到结果图中。 end

%显示原图image与处理后的新图result; figure(1) imshow(image); figure(2) imshow(result);

imwrite(G, map,’结果图.bmp’)

%将新图result保存为.bmp位图后结束。 2.Laplacian锐化处理

[image, map]=imread(‘实验图像.BMP’);

%读入一幅灰度图像,放在二维数组变量image 中。 [m,n]=size(image); %得到图像的宽高。 result=zeros(m,n);

%开辟新的空间,存放结果图像。 image=double(image); %转换数据类型。

(因为在MATLAB中,图像的像素值为uint8型数据描述的,而这种类型不允许进行算术运算,所以要对F进行数据类型转换,即:F=double(F);然后,在进行循环处理。)

%设计两重循环(即:for (i=1:m) for(j=1:n))按照均值滤波原理,给出新图像的每个像素点的灰度值; for i=1:m

end

6

for j=1:n

……%按照公式(2-2)计算出结果,并负值到结果图中。 end

数字图像处理与传输

%显示原图image与处理后的新图result; figure(1) imshow(image); figure(2) imshow(result);

imwrite(G, map,’结果图.bmp’);

%将新图result保存为.bmp位图后结束。

六、实验报告要求

1.简述实验目的和实验原理。

2.根据伪代码,完成编写为MATLAB程序,并实现更多的功能。 3.分析实验结果。 4.回答思考问题。

7

数字图像处理与传输

选做实验:

实验一 图像的放大和缩小

一、实验目的:

要求同学了解图像的放大和缩小的效果。 二、实验的原理与方法:

1)图像的缩小:分为按比例缩小和不安比例缩小两种。图像缩小之后,因为承载的信息量小了,所以画布可相应缩小。图像缩小实际上就是对原有的多个数据进行挑选或处理,获得期望缩小尺寸的数据,并且尽量保持原有的特征不丢失。最简单的方法就是等间隔的选取数据。设原图像大小为M*N,缩小为k1M*k2N,(K1<1,K2<1)。算法步骤如下: 设旧图像是F(i, j), i=1,2,…,M , j=1,2,…,N. 新图像是I(x, y), x=1,2,…,k1M , y=1,2,…,k2N.

2)图像的放大:图形的缩小是从多个信息中选出所需的信息,而图像的放大则是需要对多出的空位填入适当的值,是信息的估计。最简单的思想是,如果要将原图放大k倍,则将原图像中的每个象素值,填在新图像中对应的k*k大小的字块中。设原图像大小为M*N,放大为k1M*k2N,(K1>1,K2>1)。算法步骤如下:

设旧图像是F(i, j), i=1,2,…,M , j=1,2,…,N. 新图像是I(x, y), x=1,2,…,k1M , y=1,2,…,k2N.

I(x, y)=F(c1*I,c2*j) C1=k1 c2=k2

三、实验内容与步骤

1) 熟悉MATLAB语言的使用,包括矩阵的定义和一些必要语句,表达式、变量的使用,及其语言环境。 2)编写程序 A 放大 B 缩小

3)对结果进行分析

8

数字图像处理与传输

原图

按比例缩小 不按比例缩小

原图 放大后

四、思考问题

1)在图像放大后为上么会出现马赛克,问题如何解决。 2)比较等比例和不等比例放大缩小的结果。

9

数字图像处理与传输

五、报告要求

1)简述实验目的和实验原理。

2)修改完善参考程序,并使其实现更多功能。 3)总结实验结论。 4)回答思考问题。

10

数字图像处理与传输

选做实验:

实验二 色系的转换

一、实验目的:

了解色系的概念,现在长用的几种色系方法,及如何在他们之间转换。 二、实验的原理与方法: 什么是色系?

我们生活的世界是五颜六色的,在色彩缤纷的世界里我们定义了红,橙,黄,绿,青,靛,紫等几种颜色,并把其他颜色看作某几种颜色合成的结果,但是这样的分法在图象处理时还是过于笼统,没有一个量化的标准,所以我们定义了色系的概念。

在数字图象的处理中,我们对颜色的描述还是通过建立色彩模型来实现的,不同的色彩模型对应于不同的处理目的,所以我们就有了很多为了处理不同情况而定义的色彩建摸。

XYZ三刺激值的概念是以色觉的三元理论为根据的,他说明人眼具有接受三原色(红,绿,蓝)的接受器,而所有颜色均被视作该三原色的混合色,刺激值是利用这些标准观察者配色函数计算得来的:

Lab颜色空间是在1976年制定的等色空间,以克服在x, y色度图上相等的距离并不相当于我们所觉察到的相等色差的问题,在比较色差时,设A 为基准色,B为试料色,A’为与B相同亮度的基准色,?Eab为色差程度,?Eab大小决定了色差程度的大小,具体见表

11

色差程度的鉴定?E?ab 微量 轻量 能感觉到 明显 很大 截然不同 0~0.5 0.5~1.5 1.5~3.0 3.0~6.0 6.0~12.0 12以上 数字图像处理与传输

下面是我们要重点说明的两种色系系统

RGB色系 以700nm (红),546.1nm(绿),435.8nm(蓝)三个色光为三基色。又称为物理三基色。自然界的所有颜色都可以过选用这三基色按不同比例混合而成

红(255,0,0)

黑(0,0,0)

黄(255,255,0)

绿(0,255,0)

品红(255,0,255)

白(255,255,255)

蓝(0,0,255)

青(0,255,255)

而HIS色系的设计反映了人类观察彩色的方式。如:红色又分为浅红色和深红色等等,他将颜色分为了,亮度,色度,和饱和度三个系数,其中表示光照强度或称为亮度,他确定了象素的整体亮度,而不管其颜色是什么,(I表示越黑I越小,越白I越大);H:表示色度,由角度表示,反映了该颜色最接近什么样的光谱波长,0o为红色,120 o为绿色,240o为蓝色;S:表示饱和度,饱和度参数是色环的原点到彩色点的半径长度。在环的外围圆周是纯的或称饱和的颜色,其饱和度为0,容易理解的说法是当S为1时是最纯的,最鲜亮的颜色,随着S的减少灰色越来越多的“加”入了颜色中。

三、实验内容与步骤

1)本实验要实现的是HIS色系与RGB色系的相互转换,RGB到HIS 的转换

I?13(R?G?B)

3min(R,G,B)

R?G?B12

S?1?数字图像处理与传输

? G?B

H?

2?? G?B

1????(R?G)?(R_B)???12??cos??2?(R_G)?(R?B)(G?B)??? ??此外在实际运用中比较常用的还有YUV和RGB色系之间的转换,因为在彩色电视图像的传输中用的是YUV格式的方法,所以也十分的重要。 2)编写程序实现要求 3)对结果分析

四、思考问题

RGB色系可以直观的看作一个正方体(如上)那么在这个正方体上,一个点顺(逆)时针旋转会变成什么样?上下移动?向中心方向移动呢?

五、报告要求

1)简述实验目的和实验原理 2)总结实验结论 3)回答思考问题

13

数字图像处理与传输

选做实验:

实验三 旋转与平移

一、实验目的:

了解最基本的图像集合变化的方法; 二、实验的原理与方法: 1)平移

平移(translation)变换大概是几何变换中最简单的一种;

如图所示,初始坐标为(x0,y0)的点经过平移(tx,ty)(以向右,向下为正方向)后,坐标变为(x1, y1)。这两点之间的关系是x1= x0+tx , y1 =y0+ty 。

ty

tx

平移的示意图

以矩阵的形式表示为

?1?1]?0?tx?01ty0??0? 1??[x1y11]=[x0y0我们更关心的是它的逆变换:

?1?1]?0??tx?01?ty0??0? 1??[x0y01]=[x1y1

这是因为:我们想知道的是平移后的图像中每个象素的颜色。例如我们想知道,新图中左上角的RGB值是多少?很显然,该点是原图的某点经过平移后得到

14

数字图像处理与传输

的,这两点的颜色肯定是一样的,所以只要知道了原图那点的RGB值即可。那么到底新图中的左上角点对应原图中的哪一点呢?将左上角点的坐标(0,0)入公(2.2),得到x0=tx,y0=-ty;所以新图中的(0,0)点的颜色和原图中(-tx,-ty)的一样。

这样就存在一个问题:如果新图中有一点(x1,y1),按照公式(2.2)得到的(x0,y0)不在原图中该怎么办?通常的做法是,把该点的RGB值统一设成(0,0,0)或者(255,255,255)。

另一个问题是:平移后的图像是否要放大?一种做法是不放大,移出的部分被截断。例如下图。这种处理,文件大小不会改变。

移动前的图

移动后的图

15

数字图像处理与传输

还有一种做法是:将图像放大,使地能够显示下所有部分,如下图所示。

移动后图像被放大

这种处理,文件大小要改变。设原图的宽和高分别是w1,h1则新图的宽和高变为w1+|tx|和h1 +|ty| ,加绝对值符号是因为 tx ,ty有可能为负(即向左,向上移动)。

2)旋转

旋转(rotation)有一个绕着什么转的问题,通常的做法是以图像的中心为圆心旋转,举个例子,旋转30度(顺时针方向)后如图所示:

旋转前的图 旋转后的图

4 1 3 4 3 2 2 1 可以看出,旋转后图像变大了。另一种做法是不让图像变大,转出的部分被剪裁掉。如下图所示。

我们采用第一种做法,首先给出变换矩阵。在我们熟悉的坐标系中,将一个

16

数字图像处理与传输

点顺时针旋转a角后的坐标变换公式,如下图所示,r为该点到原点的距离,在旋转过程中,r保持不变;b为r与x轴之间的夹角。

旋转后保持原图大小 旋转示意图

旋转前:x0=rcosb;y0=rsinb 旋转a角度后:

x1= rcos(b-a)= rcosbcosa+rsinbsina= x0cosa+y0sina; y1= rsin(b-a)= rsinbcosa-rcosbsina= -x0sina+y0cosa; 以矩阵的形式表示:

?cos?1]??sin???0?sin?cos?00?0?? 1??[x1y11]=[x0y0上面的公式中,坐标系xoy是以图像的中心原点,向右为正方向,向上为y轴正方向。它和以图像左上角点为原点o’,向右为x’轴正方向,向下为y’轴正方向的坐标系x’o’y’之间的转换关系如何呢?如下图中所示。

(X,Y) O’ Y X’

Y’ O X 两种坐标系间的转换关系

17

数字图像处理与传输

设图像的宽为w,高为h,容易得到

?100?[xy1]=[x'y'1]??0?10? ?.5w0.5h1???0??逆变换为:

?100?[x'y'1]=[xy1]??0?10? ?1??0.5w0.5h??有了上面的公式,我们可以把变换分成三步: 1)将坐标系o’变成o; 2)将该点顺时针旋转a角;

3)将坐标系o变回o’,这样,我们就得到了变换矩阵,是上面三个矩阵的级联。

??100??sin?0??[x=[x'y'1]?0?10???cos?sin??100?1y11]cos?0??5w0.5h1????0?10? ??0.???001????.5w0.5h1??0???cos?sin?=[x0y01]???sin?cos????0.5woldcos??0.5holdsin??0.5wnew?0.5woldsin??0.5holdcos??0.5hnew要注意得是,因为新图变大,所以上面公式中出现了wold,hold,wnew,hnew,他们分别表示原图(old)和新图(new)的宽,高。我们从图2.8中容易看出:wnew=max(|x4-x1|,|x3-x2|);

hnew=max(|y4-y1|,|y3-y2|)。

三、实验内容与步骤

对任意图片做旋转和平移的操作,比较他们的结果。 四、思考问题

在旋转和平移时出现了图片超出画布的情况怎么办?

18

0?0?1???

本文来源:https://www.bwwdw.com/article/0ucp.html

Top