您好,欢迎来到品趣旅游知识分享网。
搜索
您的当前位置:首页图像空域增强算法设计——灰度变换增强

图像空域增强算法设计——灰度变换增强

来源:品趣旅游知识分享网


成绩评定表

学生姓名 专业 班级学号 课程设计题目 图像空域增强算法设计——灰度电子信息工程 变换增强 评 语 组长签字: 成绩 日期

201 年 月 日

课程设计任务书

学院 学生姓名 课程设计题目 信息科学与工程 专业 班级学号 电子信息工程 图像空域增强算法设计——灰度变换增强 实践教学要求与任务: 本设计利用Matlab进行编程及仿真,仿真内容为图像空域增强算法设计——灰度变换增强。拟利用所学数字图象处理技术知识,在Matlab软件系统上来实现灰度变换增强,并且对程序进行测试。 (1)掌握课程设计的相关知识、概念、思路及目的。 (2)程序设计合理、能够正确运行且操作简单,可实施性强。 (3)掌握灰度变换增强的方法。 (4)能够利用线性变换,非线性变换对灰度图像进行变换。 工作计划与进度安排: 第一阶段(1-2天):熟悉matlab编程环境,查阅相关资料; 第二阶段(2-3天):算法设计; 第三阶段(2-3天):编码与调试; 第四阶段(1-2天):实验与分析; 第五阶段(1-2天):编写文档。 指导教师: 201 年 月 日

专业负责人: 201 年 月 日 学院教学副院长: 201 年 月 日

摘要

空域增强在数字图像处理中起到对图像灰度的拉伸、压缩变换的作用,目前这种方法在处理图像灰度值方面得到广泛的运用。MATLAB这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以利用MATLAB软件来对图像进行空域增强在数字图像处理的应用中具有很大的优势。

图像变换增强是利用一系列的变换方法使图像的对比度得到提升,也就达到了增强图像的目的--更便于观察,更容易区分不同灰度的图像。根据函数的性质,灰度变换的方法有线性灰度变换、分段线性灰度变换、非线性灰度变换。对于灰度局限在某一个很小范围内的数字图像,如果用线性函数对图像的每一个像素进行线性扩展,扩大像素的对比度,将有效地改善视觉效果。本文利用MATLAB软件对灰度图像分别进行了线性灰度变换增强,非线性灰度增强和分段线性灰度增强,达到了提高图像对比度,增强图像效果的目的,证明了图像变换增强在数字图像处理中的重要作用。

关键词:MATLAB;灰度图像;线性变换;非线性变换

I

目 录

1设计目的 .......................................................................................................................... 1 2设计方案 .......................................................................................................................... 1 2.1 灰度变换增强的概念 ............................................................................................. 1 2.2 灰度变换增强流程 ................................................................................................. 2 3设计内容 .......................................................................................................................... 3 3. 1 线性灰度变换的概述 ........................................................................................... 3 3. 2 分段线性灰度变换的概述 ................................................................................... 3 3. 3非线性灰度变换的概述 ........................................................................................ 4 4程序代码设计 .................................................................................................................. 5 4.1线性灰度变换增强 .................................................................................................. 5 4.1.1线性变换增强流程 ......................................................................................... 5 4.1.2线性变换增强设计 ......................................................................................... 5 4.2分段线性灰度变换程序代码.................................................................................. 6 4.2.1分段线性变换增强流程 ................................................................................. 6 4.2.2分段线性变换增强设计 ................................................................................. 6 4.3非线性灰度变换程序代码 ...................................................................................... 8 4.3.1非线性变换增强流程 ..................................................................................... 8 4.3.2非线性变换增强设计 ..................................................................................... 8 5仿真结果与分析 ............................................................................................................ 10 5.1线性灰度变换仿真结果 ........................................................................................ 10 5.2分段线性灰度变换仿真结果 ................................................................................ 11 5.3非线性灰度变换仿真结果 .................................................................................... 12 5.4结果分析 ................................................................................................................ 12 结论 ................................................................................................................................... 14 参考文献 ........................................................................................................................... 15

II

沈阳理工大学数字图象处理课程设计

1 设计目的

空域增强在数字图像处理中起到对图像灰度的拉伸、压缩变换的作用,目前这种方法在处理图像灰度值方面得到广泛的运用。灰度变换是空域变换的一种重要方式,可使图像对比度扩展,图像清晰,特征明显。本实验中,我们就用灰度变换来对灰度图像进行处理。

(1)熟练掌握 MATLAB软件的基本操作 (2)学会掌握 MATLAB软件的程序编程

(3)查阅相关资料并分析,掌握灰度变换增强的主要思路

(4)培养分析和解决问题的能力,学会撰写课程设计的总结报告 (5)善于总结和改进方案,提高可实施性和高效性。

2 设计方案

2.1 灰度变换增强的概念

灰度变换可使图像对比度扩展,图像清晰,特征明显。它是图像增强的重要手段。在图像空间所进行的灰度变换是一种点处理方法,它将输入图像中的每个像素(x,y)的灰度值f(x,y),通过映射函数变换成输出图像中的灰度g(x,y),即

g(x,y)=T[ f(x,y)] (2.1)

根据函数的性质,灰度变换的方法有以下几种: (1)线性灰度变换。 (2)分段线性灰度变换。 (3)非线性灰度变换。

对于线性灰度变换和非线性灰度变换,是直接用确定的公式依次对每个像素进行处理,也称为直接线性变换。[1]

1

沈阳理工大学数字图象处理课程设计

2.2 灰度变换增强流程

图2.1灰度变换增强流程

如图2.1所示,f(x,y)为一张尺寸合适的原始灰度图像,首先判断是否要将整张图像的灰度值都进行拉伸,如果是整张图片拉伸,就选择线性变换增强;如果将图片的部分灰度值进行拉伸而另一部分进行压缩,则选择非线性变换增强或分段线性变换增强。非线性变换增强和分段线性变换增强的区别在于,分段线性灰度变换是将原始图像灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围,而非线性变换拉伸是在整个灰度范围内采用统一的变换函数,利用变换函数的性质实现对不同灰度值区间的扩展和拉伸[2][3]

2

沈阳理工大学数字图象处理课程设计

3 设计内容

3. 1 线性灰度变换的概述

线性变换简单的线性灰度变换法可表示为g(x,y)=(d-c/b-a)[f(x,y)-a]+c,其中:b和a分别是输入图像亮度分量的最大值和最小值,d和c分别是输出图像亮度分量的最大值和最小值。经过线性灰度变化法,图像亮度分量的线性范围从[a,b]变化到[c,d],如图3.1所示:

图3.1 线性拉伸示意图

若图像中大部分像素的灰度级分布在区间[a,b]内,M为原图的最大灰度级,只有很小一部分的灰度级超过了此区间,则为了改善增强效果,可以令:

cdcg(x,y)[f(x,y)a]cbad0f(x,y)aaf(x,y)bbf(x,y)M(3.1)

由于人眼对灰度级别的分辨能力有限,只有当相邻像素的灰度值相差到一定程度时才能被辨别出来。通过上述变换,图像中相邻像素灰度的差值增加,例如在曝光不足或过度的情况下,图像的灰度可能会局限在一个很小的范围内,这时得到的图像可能是一个模糊不清,似乎没有灰度层次的图像。采用线性变换对图像中每一个像素灰度作线性拉伸,将有效改善图像视觉效果。[4]

3.2分段线性灰度变换的概述

为了突出图像中感兴趣的目标或灰度区间,相对抑制那些不感兴趣的灰度区间,可采用分段线性变换,它将图像灰度区间分成两段乃至多段分别作线性变换。

3

沈阳理工大学数字图象处理课程设计

进行变换时,把0~255整个灰度值区间分为若干线段,每一个直线段都对应一个局部的线性变换关系。

常用的三段线性变换如图3.2所示:

图3.2 分段线性拉伸示意图

图中,中间段的灰度得到拉伸,两端灰度被压缩公式如3.2所示:

cf(x,y)adcg(x,y)[f(x,y)a]cbaMgd[f(x,y)b]dbMf0f(x,y)aaf(x,y)bbf(x,y)(3.2)

Mf3.3非线性灰度变换的概述

非线性拉伸不是对图像的整个灰度范围进行扩展,而是有选择的对某一灰度范围进行扩展,其他范围的灰度值则有可能被压缩。非线性拉伸利用变换函数的数学性质实现对不同灰度值区间的扩展与压缩。下面介绍其中一种非线性扩展法:对数变换。

对数变换,是指输出图像的像素点的灰度值与对应的输出图像的像素灰度值之间为对数关系,其一般公式为:g(x,y)=a+ln[f(x,y)+1]/blnc,式中a,b,c 都是可以选择的参数,式中f(x,y)+1是为了避免对0求对数,确保ln[f(x,y)+1]≥0。当f(x,y)=0时,ln[f(x,y0+1),则y=a,则a为y轴上的截距,确定了变换曲线的初始位置的变换关系b,c,两个参数确定变换曲线的变换速率。对数变换扩展了低灰度区,压缩了高灰度区,能使低灰度区的图像较清晰地显示出来。[5]

4

沈阳理工大学数字图象处理课程设计

4 程序代码设计

4.1 线性变换增强

4.1.1线性变换增强流程

图4.1 线性变换流程

如图4.1所示,先将输入的灰度图像f(x,y)的位置及标签设置好之后,选择线性函数对原灰度图像进行灰度拉伸的处理,增强其对比度,得到变换之后的图像并输出。

4.1.2 线性灰度变换增强设计

I = imread('E:\\fish.jpg'); % 读入原图像

I = im2double(I); % 转换数据类型为double [M,N] = size(I); % 计算图像面积 figure(1);subplot(121); % 打开新窗口,设置图像位置 imshow(I); % 显示原图像 title('原图像'); % 定义标签 Fa = 6; Fb = -160;

O = Fa .* I + Fb/255; % 线性变换公式 figure(1);subplot(122); imshow(O);

5

沈阳理工大学数字图象处理课程设计

title('灰度变换后的图像');

4.2分段线性变换增强

4.2.1分段线性变换增强流程

图4.2分段线性变换

如图4.2所示,先将输入的灰度图像f(x,y)的位置及标签设置好之后,再设置灰度值变化的范围,分别为0-70,70-180和180-255。这三个范围的变化函数不同,从而达到使图像的灰度值拉伸程度不同的目的。经过分段线性变换后,得到变换后的图像g(x,y)。[6] 4.2.2 分段线性灰度变换增强设计

A=imread('E:\\girl.jpg'); % 读入原图像

X1=rgb2gray(A); % 将彩色图像变成灰度二值图像 subplot(221);imshow(X1); %输出图像

title('原图像'); %在原始图像中加标题 f0=0;g0=0; %进行灰度级线性分段增强;

6

沈阳理工大学数字图象处理课程设计

f1=70;g1=30; f2=180;g2=230; f3=255;g3=255;

subplot(222);plot([f0,f1,f2,f3],[g0,g1,g2,g3]);

axis tight,xlabel('f'),ylabel('g'),title('灰度变换曲线');%绘制灰度变换曲线 %增强对比度

r1=(g1-g0)/(f1-f0); b1=g0-r1*f0; r2=(g2-g1)/(f2-f1); b2=g1-r2*f1; r3=(g3-g2)/(f3-f2); b3=g2-r3*f2; [m,n]=size(X1);

X2=double(X1); %for i=1:m; for j=1:n f=X2(i,j); g(i,j)=0;

if(f>=0)&(f<=f1) g(i,j)=r1*f+b1; elseif (f>=f1)&(f<=f2) g(i,j)=r2*f+b2;

elseif (f>=f2)&(f<=f3) g(i,j)=r3*f+b3; end end end

subplot(223);

变换矩阵中的每一个元素 7

沈阳理工大学数字图象处理课程设计

imshow(mat2gray(g)); %输出变换之后的图像 title('分段线性变换后的图像');

4.3非线性变换增强

4.3.1非线性变换增强流程

图 4.3 非线性变换

如图4.3所示,先将输入图像f(x,y)的位置和标签设置好之后,确定图像灰度拉伸和压缩的范围,按照要求设置参数,利用对数函数对原始灰度图像进行非线性变换得到输出图像g(x,y)。[7] 4.3.2 非线性灰度变换增强设计

I=imread('E:\\knot.png'); %读取图像

I=mat2gray(I); %将一个矩阵转化为灰度图像的数据格式 I=im2double(I); %转化为双精度 J=log(I+1); subplot(1,2,1);

Imshow(I); %显示图像 title('原图像'); subplot(1,2,2); Imshow(J);

title('非线性对数变换后的图像')

8

沈阳理工大学数字图象处理课程设计

5 仿真结果与分析

在MATLAB7.1中运行以上程序,分别对三幅灰度图像分别进行线性变换,分段线性变换和非线性变换后得到灰度被拉伸和压缩的图像。得到变换后的灰度图像并加以比较分析。

5.1线性灰度变换仿真结果

利用MATLAB7.1对灰度图像进行线性灰度变换得到变换后灰度图像。

图5.1(a)原图像图 5.1(b)变换图像

如图5.1(a)和5.1(b)所示,左面的图像为处理之前的原图像,对比度相对较小。采用线性函数对其每一个像素做线性拉伸之后得到右面的图像,图像的灰度值相比原图像变大。经过变换后的图像与原图像相比较扩大了对比度,有效的增强了视觉效果。

9

沈阳理工大学数字图象处理课程设计

5.2分段线性灰度仿真结果

利用MATLAB7.1对灰度图像按照灰度值的不同进行分段线性灰度变换得到变换后灰度图像。

图5.2灰度变换曲线

图5.3(a)原图像图 5.3(b)变换图像

如图5.2,5.3(a)和5.3(b)所示,灰度变化的范围分别是0-70,70-180和180-255。这种变换方式对不同范围的灰度值进行不同的拉伸处理,中间灰度值进行了拉伸而对两端的灰度值进行了压缩。变换后的图像变亮并且突出了人物的部分,达到了增强图像效果的目的。

10

沈阳理工大学数字图象处理课程设计

5.3非线性灰度变换仿真结果

利用MATLAB7.1对灰度图像按照灰度值的不同进行非线性灰度变换得到变换后灰度图像。

图5.4(a)原图像 图5.4(b)变换图像

如图5.1(a)和5.1(b)所示左面的图像为处理之前的原图像,右面的图像为经过非线性变换之后的图像。这种变换有选择地对某一灰度值范围进行扩展,而其他范围的灰度值有可能进行压缩,达到图像增强的效果。

5.4 结果分析

线性拉伸可以将原始输入图像中的灰度值不加区别地扩展。该方法将原始图像灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围,使得整张图片效果得到增强。非线性拉伸对某一范围的灰度值有选择地进行拉伸,其它部分进行压缩。增强了图片中感兴趣的部分的灰度值而压缩了其余部分的灰度

11

沈阳理工大学数字图象处理课程设计

值。非线性拉伸与分段线性拉伸不同的是,非线性拉伸不是通过在不同灰度值区间选择不同的拉伸方程来实现对图片的扩展与压缩的,非线性变换拉伸在整个灰度范围内采用统一的变换函数,利用变换函数的性质实现对不同灰度值区间的扩展和拉伸。

12

沈阳理工大学数字图象处理课程设计

6.结论

在曝光不足或曝光过度,或景物本身灰度就比较小的情况下,图像灰度有可能会局限在某一个很小的范围,致使图像中的细节模糊不清。正如灰色纽扣掉在与纽扣颜色相近的地毯上就不容易被找到,原因就是他们的颜色太接近。但是,如果白色纽扣掉到黑色的地毯上就会很容易地被找到,原因就是它们的亮度反差大。同样,对于灰度局限在某一个很小范围内的数字图像,如果用线性函数对图像的每一个像素进行线性扩展,扩大像素的对比度,将有效地改善视觉效果。该方法将原始图像灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围,使得图片效果得到增强。

线性拉伸可以将原始输入图像中的灰度值不加区别地扩展。在实际应用中,为了突出图像中感兴趣的研究对象,常常该方法将原始图像灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围,使得图片效果得到增强。 非线性拉伸对某一范围的灰度值有选择地进行拉伸,其它部分进行压缩。与分段线性拉伸不同的是,非线性拉伸不是通过在不同灰度值区间选择不同的拉伸方程来实现对图片的扩展与压缩的,非线性变换拉伸在整个灰度范围内采用统一的变换函数,利用变换函数的性质实现对不同灰度值区间的扩展和拉伸。[8][9]

13

沈阳理工大学数字图象处理课程设计

参考文献

[1] . MATLAB数字图像处理[M].北京:机械工业出版社.2010:34-45. [2] 王家文.MATLAB 6.5 图形图像处理[M].上海:国防工业出版社.2009:6-14. [3] 王晓丹.MATLAB系统分析[M].西安:西安电子科技大学出版2000:168-220. [4] 余成波.MATLAB实现[M].重庆:重庆大学出社 .2003:34-.

[5] 郝文化.MATLAB图像处理[M].河北:中国水利水电出版社. 2004:66-78. [6] 苏金明. MATLAB图形图像[M].四川:成都电子工业出版社. 2005:87-90. [7] 杨志刚等.现代通信原理[M].清华大学出版社,2008: 66-. [8] 哲学.精通MATLAB[M].电子工业出版社,2008: 2-8.

[9] 李圣勤. MATLAB7.0实用教程[M].机器工业出版社,2006: 90-118.

14

沈阳理工大学数字图象处理课程设计

15

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- pqdy.cn 版权所有 赣ICP备2024042791号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务