三种不同灰度图像增强算法对比

三种不同灰度图像增强算法对比
三种不同灰度图像增强算法对比

三种不同灰度图像增强算法对比

一、摘要

本文主要是运用直方图均衡化、平滑、锐化三种常见的图像增强算法对图像进行处理,并在此基础上分别用这 3 种算法处理的灰度图像进行比较,比对它们对图像的处理效果, 分析 3 种方法在图像增强处理能力的优劣之处。

结果发现,直方图均衡化可以均衡图像的灰度等级, 经过直方图的均衡化,图像的细节更加清楚了,但是由于直方图均衡化没有考虑图像的内容,只是简单的将图像进行直方图均衡,提高图像的对比度,使图像看起来亮度过高,使图像细节受到损失;

图像平滑的目的是减少或消除图像的噪声, 图像平滑可以使图像突兀的地方变得不明显, 但是会使图像模糊,这也是图像平滑后不可避免的后果,只能尽量减轻,尽量的平滑掉图像的噪声又尽量保持图像细节,这也是图像平滑研究的主要问题;

图像锐化使图像的边缘、轮廓变得清晰,并使其细节清晰,常对图像进行微分处理,但是图像的信噪比有所下降。

关键词: 图像增强 灰度图 直方图 平滑 锐化

二、三种图像增强算法

图像预处理是相对图像识别、图像理解而言的一种前期处理,主要是指按需要进行适当的变换突出某些有用的信息,去除或削弱无用的信息,在对图像进行分析之前, 通常要对图像质量进行改善,改善的目的就是要使处理后的图像比原始图像更适合特定的应用。影响图像清晰度的因素很多,主要有光照不足、线路传输收到干扰等。

现存的图像增强技术主要分为空间域法和频率域法两类,其中的增强方法主要有直方图的修正、灰度变换、图像平滑、图像锐化、伪彩色和假彩色处理等。下面主要采用直方图均衡化、图像平滑、图像线性锐化对图像进行增强处理, 对比他们的处理效果,分析 3 种方法的在图像增强处理方面的优劣。

1、直方图均衡化

直方图均衡化也称为直方图均匀化,是一种常见的灰度增强算法,是将原图像的直方图经过变换函数修整为均匀直方图,然后按均衡后的直方图修整原图像。

为方便研究,先将直方图归一化,然后图像增强变换函数需要满足2个条件。

假设灰度级为归一化至范围[0,1]内的连续量,设其中任一灰度级别Z归一化为r,变换后图像的任一灰度级Z'归一化为s,显然r,s应当满足:0<=r<=1,0<=s<=1 因此直方图修正就是对下列公式的计算过程:s=T(r)或r=T'(s) 式中T(r)为变换函数,它必须满足下列条件:

a在0<=r<=1区间内是单值单调增加函数;

b对于0<=r<=1,有T(r)在[0,1]内。

条件a 保证灰度级从黑到白的次序,而条件b确保映射后的像素灰度在允许的范围内,避免整个图像明显变亮或者变暗。

从S 到r的反变换关系为r=T'(s) ;T'(s)对r同样满足上述条件。

灰度变换是对图像上各个像素点的灰度值x 按某个函数T 变换到y ,将图像的灰度级整个范围或其中某一段( A, B)扩展或压缩到( A, B)。直方图均衡化是灰度变换的一个重要应用,是以累计分布函数变换为基础的直方图修正法, 可以产生一幅灰度级分布具有均匀概率密度的图像。一幅图像灰度级r k 出现的概率近似为

其中n 是图像中像素的总和, nk 是灰度级为r k 的像素个数, L 为图像中灰度级总数。若

像素点的原灰度为r ,变换后的灰度为s,其灰度变换函数T 为

现在在Matlab环境下实现增强的目的。

通过程序,读入原图像后显示,然后显示直方图,由显示的图像及其直方图可知这

幅图像最为突出的特点是较暗且动态范围较低。直方图的宽度相对于整个灰度范围来说非常狭窄,图像质量比较差,在Matlab环境下进行直方图的均衡化,对图像的亮度范围进行拉伸,以提高对比度。经过直方图均衡化,图像的对比度及平均亮度明显提高,直方图在整个亮度标度上显著扩展,图像质量提高。由图显示的变换函数能够直观地分辨出该变换函数将较窄的输入灰度级范围变换到了输出图像的整个亮度范围内。

对比图发现,经过直方图均衡化,图像的对比度明显增强,地物的轮廓变的更清晰,因此,直方图均衡化有助于改善对比度过低引起的遥感图像模糊。

2、图像平滑

数字图像的噪声主要来源于图像的获取过程和传输过程,图像的质量受图像传感器本身和环境因素的影响,常见的噪声有加性噪声、乘性噪声、量化噪声、“盐和胡椒”噪声等。图形平滑目的是减少噪声减少噪声的算法主要有邻域平均、低通滤波、和中值滤波等。(1)邻域平均法是一种局部空间域处理的算法,就是对含有噪声的原始图像的每个像素点去一个邻域,计算邻域中所有像素灰度级的平均值作为空间域平均处理后图像的像素值。其效果与所用的邻域半径有关,半径愈大图像的模糊程度越大。为了克服平均弊病,提出许多保留边沿细节的局部平滑算法。

(2)通过低通滤波的方法,可以使高频成分受到抑制,故可以使低频成分顺利通过,从而实现图像的平滑。低通滤波可以在空间域和频域中进行。在空间域中实现是采用离散卷积,而频域低通滤波是一种频域处理法。

(3)中值滤波一种非线性信号处理方法,就是用一个有奇数点的滑动窗口,将窗口中心点的值用窗口内各点的中值代替。

3、图像锐化

图像锐化的目的就是使边缘和轮廓线模糊的图像变得清晰,并使细节清晰。锐化可以在空间域中进行,常用的方法是对图像进行微分处理,也可以在频域中运用高通滤波技术处理。 图像锐化一般有两种方法: 高通滤波法和微分锐化法。从频率域来看, 图像模糊的实质是图像的高频分量被减弱,可以通过高通滤波器来增强高频分量, 使图像更清晰。我们通过梯度锐化来对图像进行边缘增强。

(1)微分法;图像的模糊实质上就是受到了平均或积分运算,因此,对其进行逆运算可以使图像清晰。由于模糊图像的特征各不相同,可采用具有旋转不变的线性微分算子来锐化它们,如微分运算、梯度运算等。 在经过梯度运算后图像中的边缘、轮廓、尖顶等变化较快的地方变得更加锐目, 从而使图像更加清晰、细节更加突出。

(2)高通滤波法;图像中的边缘或线条等细节部分与图像频谱中的高频成分相对应,因此采用高通滤波的方法让高频分量顺利通过,使低频分量受到抑制就可以增强高频的成分,使图像的边缘或线条变得清晰,实现图像的锐化。

三、三种算法处理对比

1、直方图均衡化处理对比

从图1 和图2 可以看出, 经过直方图均衡化处理后,图像对比度扩展, 图像更加清晰, 从直方图来看,处理后的图像直方图分布更加均匀。但是直方图均衡化存在有缺点:灰度级减少, 细节丢失, 另外图像处理后的对比度不够自然。因此在实际应用中,还需要根据不同的要

求有选择地对某灰度范围进行局部范围内的对比度增强。

2、图像平滑处理后图像对比

由图3 可以看出, 经过平滑后的图像,原来突兀的点变得不明显,图像变得更加柔和。均值滤波器可以较好地降低图像噪声,但效果取决于掩模的大小,实验显示均值滤波器主要适用于消除图像中不相干的细节。中值滤波器有较为出色的降噪能力,比小尺寸的线性平滑滤波器的模糊度明显降低, 在保存原有图像的边缘轮廓的基础上将图像噪声消除掉。虽然中值滤波器对处理脉冲噪声很有效,但是中值滤波并不适用于所有的情况, 若图像中存在很多边界、点、线时, 处理效果不明显,这时采用最大值滤波器可以获得更好的效果。此外中值滤波器要对窗口内的像素点灰度值排序,不利于快速图像平滑处理。

3、图像锐化前后图像的效果

从图可以看出, 模糊图像经过锐化处理以后图像的边缘、轮廓变得清晰,图像细节也变得更加丰富。值得注意的是选取锐化处理的图像必须是信噪比很高的图像, 并且要设置恰当的阀值进行处理, 否则图像的细节增加的同时,图像噪声也迅速增加, 无法产生预想的效果。

四、对比后感想

对比3 种不同的图像增强算法的处理效果可以看出,直方图均衡化可以均衡图像的灰度等级,提高图像的对比度, 但是图像的细节损失;图像平滑可以减少或消除图像的噪声, 使图像突兀的地方变得不明显,但是会使图像模糊; 图像锐化使图像的边缘、轮廓变得清晰, 但是图像的信噪比有所下降。这说明选取正确的图像增强算法处理图像可以使处理后图像达到理想的效果, 反之无法满足视觉上或特殊应用上的要求,此外在具体应用过程中,还需注意调整阀值、设定合适的掩模、局部处理等。在很多时候,还需要采用多种算法组合来实现理想的图像增强效果。

参考文献:

[ 1] Rafael C 冈萨雷斯. Richar d E Woo ds 数字图像处理[ M] . 阮秋琦, 译.北京: 电子工业出版社, 2003.

[ 2] 何斌, 马天予,王运坚,等. V isual C+ + 数字图像处理[ M] . 北京:人民邮电出版社, 2002.

[ 3] 苏彦华. V isual C + + 数字图像识别技术典型案例[ M] . 北京: 人民邮电出版社, 2004.

[4]李耀辉,刘保军基于直方图均衡的图像增强[J] 华北科技学院学报,2003,5(2):65-66.

[5]汤国安张友顺,刘咏梅,谢元礼,杨听,刘爱利,等遥感数字图像处理[M]北京:科学出版社,2004.

[6]李树涛,毛建旭.计算机图像处理与识别技术[M]北京:高等教育出版社,2001

副翻形场钦川,

附录:

图像灰度变换实验报告

图像灰度变换报告 一.实验目的 1.学会使用Matlab ; 2.学会用Matlab 软件对图像进行灰度变换,观察采用各种不同灰度变换发法对最终图像效果的影响; 二.实验内容 1.熟悉Matlab 中的一些常用处理函数 读取图像:img=imread('filename'); //支持TIF,JPEG,GIF,BMP,PNG 等文件格式。 显示图像:imshow(img,G); //G 表示显示该图像的灰度级数,如省略则默认为256。 保存图片:imwrite(img,'filename'); //不支持GIF 格式,其他与imread 相同。 亮度变换:imadjust(img,[low_in,high_in],[low_out,high_out]); //将low_in 至high_in 之间的值映射到low_out 至high_out 之 间,low_in 以下及high_in 以上归零。 绘制直方图:imhist(img); 直方图均衡化:histeq(img,newlevel); //newlevel 表示输出图像指定的灰度级数。 2.获取实验用图像:rice.jpg. 使用imread 函数将图像读入Matlab 。 3 .产生灰度变换函数T1,使得: 0.3r r < 0.35 s = 0.105 + 2.6333(r – 0.35) 0.35 ≤ r ≤ 0.65 1 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg 进行处理,使用imwrite 函数保存处理后的新图像。 4.产生灰度变换函数T2,使得: s = 5.用T2imwrite 保存处理后的新图像。 6.分别用 s = r 0.6; s = r 0.4; s = r 0.3 对kids.tiff 图像进行处理。为简便起见,使用Matlab 中的imadjust 函数,最后用imwrite 保存处理后的新图像。 7.对circuit.jpg 图像实施反变换(Negative Transformation )。s =1-r; 使

数字图像的灰度处理简述

数字图像的灰度处理 数字图像处理的目的和意义: 图象处理着重强调的是在图象之间进行的各种变换,对图象进行各种加工以改善图象的视觉效果。在图象的灰度处理中,增强操作、直方图及图象间的变换是实现点操作的增强方式,又被称作灰度变换。本文主要介绍了一些数字图像灰度处理的方法,其中图象取反是实现图象灰度值翻转的最直接的方法;灰度切分可实现强化某一灰度值的目的。对直方图进行均衡化修正,可使图象的灰度间距增大或灰度均匀分布、增大反差,使图象的细节变得清晰。 数字图像处理是20世纪60年代初期所形成的一门涉及多领域的交叉学科。所谓数字图像处理,又称为计算机图像处理,就是指用数字计算机及其它有关的数字硬件技术,对图像施加某种应算和处理,从而达到某种预期的目的。在大多数情况下,计算机采用离散的技术来处理来自连续世界的图像。实际上图像是连续的,计算机只能处理离散的数字图像,所以要要对连续图像经过采样和量化以获得离散的数字图像。 数字图像处理中图像增强的目的是改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,扩大图像中不同物体特征之间的差别,满足某些特殊分析的需要。其方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制图像中某些不需要的特征,使图像与视觉响应特性相匹配。而通过改变图像的灰度以期达到一种很好的视觉效果是图像增强的一种手段。灰度变换的目的是为了改善画质,使图像显示效果更加清晰。 图像的点应算是一种既简单又重要的技术,它能让用户改变图像数据占据的灰度范围。一幅输入图像经过点应算后将产生一幅新的输出图像,由输入像素点的灰度值决定相应的输出像素点的灰度值。图像的点应算可以有效的改变图像的直方图分布,以提高图像的分辨率和图像的均衡。点应算可以按照预定的方式改变一幅图像的灰度直方图。除了灰度级的改变是根据某种特定的灰度变换函数进行之外,点应算可以看作是“从像素到像素”的复制操作。如果输入图像为A(x,y),

彩色图像的灰度化处理

第1章绪论 1.1数字图像 数字图像,又称数码图像或数位图像,是二维图像用有限数字数值像素的表示。数字图像是由模拟图像数字化得到的、以像素为基本元素的、可以用计算机或数字电路存储和处理的图像。 像素(或像元,Pixel)是数字图像的基本元素,像素是在模拟图像数字化时对连续空间进行离散化得到的。每个像素具有整数行(高)和列(宽)位置坐标,同时每个像素都具有整数灰度值或颜色值。 通常,像素在计算机中保存为二维整数数阻的光栅图像,这些值经常用压缩格式进行传输和储存。数字图像可以许多不同的输入设备和技术生成,例如数码相机、扫描仪、坐标测量机、seismographic profiling、airborne radar等等,也可以从任意的非图像数据合成得到,例如数学函数或者三维几何模型,三维几何模型是计算机图形学的一个主要分支。数字图像处理领域就是研究它们的变换算法。 1.2设计平台 本次设计采用的平台是MATLAB 7.0。MATLAB编程语言被业界称为第四代计算机语言,它允许按照数学推导的习惯编写程序。MATLAB7.0的工作环境包括当前工作窗口、命令历史记录窗口、命令控制窗口、图形处理窗口、当前路径选择菜单、程序编辑器、变量查看器、模型编辑器、GUI编辑器以及丰富的函数库和MATLAB附带的大量M文件。 MATLAB是由美国Math Works公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种计算和数据处理的、可视化的、强大的计算工具。它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂计算的领域得到了广泛应用。MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担,被称为第四代编程语言。 在MATLAB设计环境中,图像处理工具箱提供一套全方位的参照标准算法

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

成绩评定表

课程设计任务书

摘要 空域增强在数字图像处理中起到对图像灰度的拉伸、压缩变换的作用,目前这种方法在处理图像灰度值方面得到广泛的运用。MATLAB这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以利用MATLAB软件来对图像进行空域增强在数字图像处理的应用中具有很大的优势。 图像变换增强是利用一系列的变换方法使图像的对比度得到提升,也就达到了增强图像的目的--更便于观察,更容易区分不同灰度的图像。根据函数的性质,灰度变换的方法有线性灰度变换、分段线性灰度变换、非线性灰度变换。对于灰度局限在某一个很小范围内的数字图像,如果用线性函数对图像的每一个像素进行线性扩展,扩大像素的对比度,将有效地改善视觉效果。本文利用MATLAB软件对灰度图像分别进行了线性灰度变换增强,非线性灰度增强和分段线性灰度增强,达到了提高图像对比度,增强图像效果的目的,证明了图像变换增强在数字图像处理中的重要作用。 关键词:MATLAB;灰度图像;线性变换;非线性变换

目录 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)

matlab图像处理图像灰度变换直方图变换

附录1 课程实验报告格式 每个实验项目包括:1)设计思路,2)程序代码,3)实验结果,4)实验中出现的问题及解决方法。 实验一:直方图灰度变换 A:读入灰度图像‘debye1.tif’,采用交互式操作,用improfile绘制一条线段的灰度值。 imread('rice.tif'); imshow('rice.tif'),title('rice.tif'); improfile,title('主对角线上灰度值')

B:读入RGB图像‘flowers.tif’,显示所选线段上红、绿、蓝颜色分量的分布imread('flowers.tif'); imshow('flowers.tif'),title('flowers.tif'); improfile,title('主对角线红绿蓝分量') C:图像灰度变化 f=imread('rice.png'); imhist(f,256); %显示其直方图 g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明暗转换(负片图像) figure,imshow(g1)%将0.5到0.75的灰度级扩展到范围[0 1] g2=imadjust(f,[0.5 0.75],[0 1]); figure,imshow(g2) 图像灰度变换处理实例: g=imread('me.jpg'); imshow(g),title('原始图片'); h=log(1+double(g)); %对输入图像对数映射变换 h=mat2gray(h); %将矩阵h转换为灰度图片

h=im2uint8(h); %将灰度图转换为8位图 imshow(h),title('转换后的8位图'); 运行后的结果: 实验二:直方图变换 A:直方图显示 I=imread('cameraman.tif'); %读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题运行结果如下:

基于MATLAB的彩色图像灰度化处理

基于MATLAB的彩色图像灰度处理 成绩 数字图像处理期末考试 题目基于Matlab的彩色图像灰度化处理 专业、班级11电信一班 姓名钱叶辉 学号 1109121025

基于Matlab的彩色图像灰度化处理 摘要 在计算机领域中,灰度数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗的黑色到最亮的白色的灰度,尽管理论上这个采样可以是任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;灰度图像在黑色与白色之间还有许多级的颜色深度。但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像[1]。 彩色图像的灰度化技术在现代科技中应用越来越广泛, 例如人脸目标的检测与匹配 以及运动物体目标的监测等等, 在系统预处理阶段, 都要把采集来的彩色图像进行灰度化处理, 这样既可以提高后续算法速度, 而且可以提高系统综合应用实效, 达到更为理想的要求。因此研究图像灰度化技术具有重要意义。 关键词:灰度化;灰度数字图像;单色图像

一、设计原理 将彩色图转化成为灰度图的过程称为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255个中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其中一个像素点的变化范围为255种,所以在数字图像处理中一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征[2]。 在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫做灰度值。因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。本设计采用三种方法对图像进行灰度化处理。 加权平均法;平均值法;最大值法。 二、彩色图像的灰度化处理 2.1加权平均法 根据重要性及其它指标,将R、G、B三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感度最高,对蓝色敏感度最低。因此,在MATLAB中我们可以按下式系统函数对RGB三分量进行加权平均能得到较合理的灰度图像。 f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j)) (2-1)程序首先读取一个RGB格式的图象,然后调用已有的函数rgb2gray()来实现彩色图像灰度化。 图2.1加权平均法的图像灰度处理 2.2平均值法[3] 将彩色图像中的R、G、B三个分量的亮度求简单的平均值,将得到均值作为灰度值

实验一Matlab图像处理基础及图像灰度变换

实验一Matlab图像处理基础及图像灰度变换 一、实验目的 了解Matlab平台下的图像编程环境,熟悉Matlab中的DIP (Digital Image Processing)工具箱;掌握Matlab中图像的表示方法,图像类型、数据类型的种类及各自的特点,并知道怎样在它们之间进行转换。掌握Matlab环境下的一些最基本的图像处理操作,如读图像、写图像、查看图像信息和格式、尺寸和灰度的伸缩等等;通过实验掌握图像直方图的描绘方法,加深直方图形状与图像特征间关系间的理解;加深对直方图均衡算法的理解。 二、实验内容 1.从硬盘中读取一幅灰度图像; 2.显示图像信息,查看图像格式、大小、位深等内容; 3.用灰度面积法编写求图像方图的Matlab程序,并画图; 4.把第3步的结果与直接用Matlab工具箱中函数histogram的结果进行比较,以衡量第3步中程序的正确性。 5.对读入的图像进行直方图均衡化,画出处理后的直方图,并比较处理前后图像效果的变化。 三、知识要点 1.Matlab6.5支持的图像图形格式 TIFF, JEPG, GIF, BMP, PNG, XWD (X Window Dump),其中GIF不支持写。 2.与图像处理相关的最基本函数 读:imread; 写:imwrite; 显示:imshow; 信息查看:imfinfo; 3.Matlab6.5支持的数据类 double, unit8, int8, uint16, int16, uint32, int32, single, char (2 bytes per element), logical. 4.Matlab6.5支持的图像类型 Intensity images, binary images, indexed images, RGB image 5.数据类及图像类型间的基本转换函数 数据类转换:B = data_class_name(A);

基于MATLAB的彩色图像灰度化处理

目录 第1章绪论............................................................................................................................ - 1 - 第2章设计原理.................................................................................................................... - 2 - 第3章彩色图像的灰度化处理............................................................................................ - 3 - 3.1加权平均法 .. (3) 3.2平均值法 (3) 3.3最大值法 (4) 3.4举例对比 (5) 3.5结果分析 (6) 第4章结论.......................................................................................................................... - 8 - 参考文献....................................................................................................... 错误!未定义书签。附录............................................................................................................................................ - 9 -

实验三 图像增强--灰度变换

实验三图像增强—灰度变换 一、实验目的: 1、了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学理论知识。 2、学会对图像直方图的分析。 3、掌握直接灰度变换的图像增强方法。 二、实验原理及知识点 术语‘空间域’指的是图像平面本身,在空间域内处理图像的方法是直接对图像的像素进行处理。空间域处理方法分为两种:灰度级变换、空间滤波。空间域技术直接对像素进行操作其表达式为: g(x,y)=T[f(x,y)] 其中f(x,y)为输入图像,g(x,y)为输出图像,T是对图像f进行处理的操作符,定义在点(x,y)的指定领域内。 定义点(x,y)的空间邻近区域的主要方法是,使用中心位于(x,y)的正方形或长方形区域。此区域的中心从原点(如左上角)开始逐像素点移动,在移动的同时,该区域会包含不同的领域。T应用于每个位置(x,y),以便在该位置得到输出图像g。在计算(x,y)处的g值时,只使用该领域的像素。 灰度变换T的最简单形式是使用领域大小为1×1,此时,(x,y)处的g值仅由f在该点处的亮度决定,T也变为一个亮度或灰度级变化函数。当处理单设(灰度)图像时,这两个术语可以互换。由于亮度变换函数仅取决于亮度的值,而与(x,y)无关,所以亮度函数通常可写做如下所示的简单形式: s=T(r) 其中,r表示图像f中相应点(x,y)的亮度,s表示图像g中相应点(x,y)的亮度。 核心函数是imhist,其基本语法为: h=imhist(f,b) 其中,f为输入图像,h为其直方图h(),b是用于形成直方图像的灰度级的个数。如果b未包含在此变量中,则默认值为256.如要处理一幅uint8

图像处理灰度变换实验

一. 实验名称:空间图像增强(一) 一.实验目的 1.熟悉和掌握利用matlab工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。 2.熟练掌握各种空间域图像增强的基本原理及方法。 3.熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。 4.熟悉直方图均衡化的基本原理、方法和实现。 二.实验原理 (一)数字图像的灰度变换 灰度变换是图像增强的一种经典而有效的方法。灰度变换的原理是将图像的每一个像素的灰度值通过一个函数,对应到另一个灰度值上去从而实现灰度的变换。常见的灰度变换有线性灰度变换和非线性灰度变换,其中非线性灰度变换包括对数变换和幂律(伽马)变换等。 1、线性灰度变换 1)当图像成像过程曝光不足或过度,或由于成像设备的非线性和图像记录设备动态范围太窄等因素,都会产生对比度不足的弊病,使图像中的细节分辨不清,图像缺少层次。这时,可将灰度范围进行线性的扩展或压缩,这种处理过程被称为图像的线性灰度变换。对灰度图像进行线性灰度变换能将输入图像的灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。 2)令原图像f(x,y)的灰度范围为[a,b],线性变换后得到图像g(x,y),其灰度范围为[c,d],则线性灰度变换公式可表示为

a y x f b y x f a b y x f c c a y x f a b c d d y x g <≤≤>?????+---=),(),(),(, ,]),([,),( (1) 由(1)式可知,对于介于原图像f (x,y )的最大和最小灰度值之间的灰度值,可通过线性变换公式,一一对应到灰度范围[c,d]之间,其斜率为(d-c)/(b-a);对于小于原图像的最小灰度值或大于原图像的最大灰度值的灰度值,令其分别恒等于变换后的最小和最大灰度值。变换示意图如图1所示。 图1 线性灰度变换示意图 当斜率大于一时,变换后的灰度值范围得到拉伸,图像对比度得到提高;当斜率小于一时,变换后的灰度值范围被压缩,最小与最大灰度值的差变小,图像对比度降低;当斜率等于一时,相当于对图像不做变换。 3)由上述性质可知,线性灰度变换能选择性地加强或降低特定灰度值范围内的对比度,故线性灰度变换同样也可做分段处理:对于有价值的灰度范围,将斜率调整为大于一,用于图像细节;对于不重要的灰度范围,将图像压缩,降低对比度,减轻无用信息的干扰。最常用的分段线性变换的方法是分三段进行线性变换。 在原图像灰度值的最大值和最小值之间设置两个拐点,在拐点处,原图像的灰度值分别为r 1,r 2,该拐点对应的变换后的图像的灰度值分别为s 1,s 2,另外,取原图像灰度的最小值为r 0,最大值为r m ,对应的变换后的灰度值分别为s 0,s m 。

图像灰度变换增强

图像灰度变换增强 摘要:灰度变换是基于点操作的增强方法,它将每一个像素的灰度值按照一定的数学变换公式转换为一个新的灰度值,如增强处理中的对比度增强。对比度增强可以采用线性拉伸和非线性拉伸。线性拉伸可以将原始输入图像中的灰度值不加区别地扩展。如果要求对局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理时,采用分段线性拉伸。非线性拉伸常采用对数扩展和指数扩展。对数扩展拉伸低亮度去,压缩高亮度区;指数扩展拉伸了高亮区,压缩了低亮度区。 关键词:图像增强,灰度变换,线性变换,分段线性变换,非线性变换 一. 概述 影响系统图像清晰程度的因素很多,例如室外光照度不够均匀就会造成图像灰度过于集中;由CCD (摄像头)获得的图像经过A/D (数/模转换,该功能在图像系统中由数字采集卡来实现)转换、线路传送都会产生噪声污染等等。因此图像质量不可避免的降低了,轻者表现为图像不干净,难于看清细节;重者表现为图像模糊不清,连概貌也看不出来。因此,在对图像进行分析之前,必须要对图像质量进行改善,一般情况下改善的方法有两类:图像增强和图像复原。图像增强不考虑图像质量下降的原因,只将图像中感兴趣的特征有选择的突出,而衰减不需要的特征,它的目的主要是提高图像的可懂度。图像复原技术与增强技术不同,它需要了解图像质量下降的原因,首先要建立"降质模型",再利用该模型,恢复原始图像。 根据图像增强处理过程所在的空间不同,图像增强可分为空余增强法和频域增强法两大类。频域增强是在图像的某种变换域内,对图像的变换系数值进行运算,即作某种修正,然后通过逆变换获得增强了的图像。空域增强则是指直接在图像所在的二维空间进行增强处理,既增强构成图像的像素。空域增强法主要有灰度变换增强,直方图增强,图像平滑和图像锐化等。 图像的灰度变换处理是图像增强处理技术中一种非常基础,直接的空间域图像处理法,也是图像数字化软件和图像显示软件的一个重要组成部分。灰度变换是指根据某种目标条件按一定变换关系逐点改变原图像中每一个像素灰度值的方法。目的是为了改善画质,使图像的显示效果更加清晰。 二. 灰度变换处理 灰度变换的过程可表示为:)],([),(y x f T y x g ,它是指将输入图像中每个像素

matlab图像的灰度变换

实验二 图像的灰度变换 一、实验目的 1、 理解数字图像处理中点运算的基本作用; 2、 掌握对比度调整与灰度直方图均衡化的方法。 二、实验原理 1、对比度调整 如果原图像f (x , y )的灰度范围是[m , M ],我们希望对图像的灰度范围进行线性调整,调整后的图像g (x , y )的灰度范围是[n , N ],那么下述变换: []n m y x f m M n N y x g +---=),(),(就可以实现这一要求。 MATLAB 图像处理工具箱中提供的imadjust 函数,可以实现上述的线性变换对比度调整。imadjust 函数的语法格式为: J = imadjust(I,[low_in high_in], [low_out high_out]) J = imadjust(I, [low_in high_in], [low_out high_out])返回原图像I 经过直方图调整后的新图像J ,[low_in high_in]为原图像中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围,灰度范围可以用 [ ] 空矩阵表示默认范围,默认值为[0, 1]。 不使用imadjust 函数,利用matlab 语言直接编程也很容易实现灰度图像的对比度调整。但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是uint8型,而在MATLAB 的矩阵运算中要求所有的运算变量为double 型(双精度型)。因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。 2、直方图均衡化 直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次。 MATLAB 图像处理工具箱中提供的histeq 函数,可以实现直方图的均衡化。 三、实验内容及要求 1、 用MATLAB 在自建的文件夹中建立example2.m 程序文件。在这个文件的程序中,将girl2.bmp 图像文件读出,显示它的图像及灰度直方图(可以发现其灰度值集中在一段区

图像灰度化

图像灰度化 颜色可分为黑白色和彩色。黑白色指颜色中不包含任何的色彩成分,仅由黑色和白色组成。在RGB颜色模型中,如果R=G=B,则颜色(R, G, B)表示一种黑白颜色;其中R=G=B的值叫做灰度值,所以黑白色又叫做灰度颜色。彩色和灰度之间可以互相转化,由彩色转化为灰度的过程叫做灰度化处理;由灰度化转为彩色的过程称为伪彩色处理。 相应地,数字图像可分为灰度图像和彩色图像。通过灰度化处理和伪彩色处理,可以使伪彩色图像与灰度图像相互转化。 灰度化就是使彩色的R,G,B分量值相等的过程。由于R,G,B的取值范围是0 ~ 255,所以灰度的级别只有256级,即灰度图像仅能表现256种颜色(灰度)。 灰度化的处理方法主要有如下3种[6]: (1)最大值法:使R,G,B的值等于3值中最大的一个,即 R=G=B=max(R,G,,B) (2-3 ) 最大值法会形成亮度很高的灰度图像。 (2)平均值法:使R,G,B的值求出平均值,即 R=G=B=(R+G+B)/3 (2-4 )平均值法会形成比较柔和的灰度图像。 (3)加权平均值法:根据重要性或其他指标给R,G,B赋予不同的权值,并使R,G,B的值加权平均,即 R=G=B=(W r R + W g G + W b B)/3 (2-5 )其中W r,W g,W b分别为R,G,B的权值。W r,W g,W b取不同的值,加权平均值法就形成不同的灰度图像。由于人眼对绿色的敏感度最高,红色次之,对蓝色最低,因此使W g>W r>W b将得到比较合理的灰度图像。实验和理论推导证明,但W r= 0.30,W g =0.59,W b=0.11时,即当 V gray=0.30R + 0.59G + 0.11B R=G=B= V gray(2-6 )时,能得到最合理的灰度图像。 本文采用方法(3)实现灰度转化,有比较好的效果,结果如图所示。

数字图像处理之灰度化处理程序

数字图像处理之灰度化处理程序 BOOL CDib::Blackwhite() { long int DataSizePerLine; DataSizePerLine =(m_pBIH->biWidth * m_pBIH->biBitCount /8+3)/4*4; if( m_pDib == NULL ) return( FALSE ); int temp; if(m_nPaletteEntries != 0) { for (int i=0; ibiHeight * m_pBIH->biWidth; unsigned char * temppale = new unsigned char [BitsCount] ; int i = 0; for ( int k=0; kbiHeight ; k++) { for (int j=0; jbiWidth; j++) { temp = * ( m_pDibBits + k* DataSizePerLine + j*3 )

图像灰度化

图像灰度化 图像灰度化原理:关于YUV空间的彩色图像,其Y的分量的物理意义本身就是像素点的亮度,由该值反映亮度等级,因此可根据RGB和YUV颜色空间的变化关系建立亮度Y与R、G、B三个颜色分量的对应:Y=0.299R+0.587G+0.114B,以这个亮度值表达图像的灰度值 图像处理结果: 程序代码: char *pmydata; //定义一个指针用来指向位图图像数据在内存中的存储区域

//long wide, high; BITMAP bm; pbmp->GetBitmap(&bm); pmydata=new char[bm.bmWidthBytes*bm.bmHeight]; //根据位图的高度 宽度初始化一下 pbmp->GetBitmapBits(bm.bmWidthBytes*bm.bmHeight,pmydata); //将位 图对象的数据COPY到pmydata指向的区域,m_bm是位图对象,bm是位图结构, 可参考上一篇文章的定义 for(int i=0;iSetBitmapBits(bm.bmWidthBytes*bm.bmHeight,pmydata); //将处 理后的数据COPY进位图对象 DrawBmp(); 图像均值化 图像均值化原理:图通常是最能说明问题的东西,非常明显的,这个3*3区域像 素的颜色值分别是5,3,6,2,1,9,8,4,7那么中间的1这个像素的过滤后的值就是这些值的平均 值,也就是前面的计算方法:(5+3+6+2+1+9+8+4+7)/9=5, 图像处理结果:

(完整word版)图像灰度化

图像灰度化处理 彩色图像是由三个不同的分量组成,我们称之为三通道图像。对彩色图像进行处理时,我们往往需要对三个通道依次进行处理,时间开销将会很大。因此,为了达到提高整个应用系统的处理速度的目的,需要减少所需处理的数据量。在图像处理中,图像的灰度化的就是把由RGB 三通道的数据的彩色图像变为单通道的数据的灰度图像。在上述的RGB 模型中,如果R, G, B 他们的值相等,即使是三通道数据,也是表现中一种灰度颜色,灰度值就是R, G, B 的值。灰度图像中各个像素位置的灰度范围为0-255。可以发现,当R,G 和B 他们三者相等时,我们只需一个字节存放该灰度值即可,对于R, G, B 不同的三通道图像,也可以进行灰度化。 目前,最常用的是以下四种彩色图像灰度化方法: 1. 单分量法 三通道图像中R, G, B 三个分量的值可以分别作为灰度图像的灰度值。我们可 以根据实际应用的需要选择其中一个作为灰度图像即可。此时,灰度化公式如下: f ( x, y ) = R( x, y) f ( x, y ) =G ( x, y) f ( x, y )= B( x, y) 其中f ( x, y) 为灰度化后的灰度图像在位置(x, y)的像素值, R(x, y), G(x, y), B(x,y)分别表示三个分量的值。 2.最大值法:该方法首先计算各个像素位置的三个分量的最大值,然后将最大 者作为灰度化后的结果,即: f (x, y)= max ((R ( x, y ) , G ( x, y ) , B ( x, y )) 3.平均值法:对于彩色图像,该方法首先计算三个通道分量的平均值,然后将 该平均值作为图像的灰度值,即: f ( x, y ) = ( R( x, y ) +G ( x, y ) + B( x, y)) / 3 4.加权平均法 上述三种方法实现简单,都是对三个分量做同等处理,然而并没有考虑不同分 量的重要性。根据三个分量的各自的重要性或者其他需要,可以对三个分量分配 不同的权值,然后计算加权结果,并将加权后的均值作灰度化的结果。即可以按 下式对输入的图像信号进行灰度化: f (x, y)= 0.30 R ( x, y )+ 0.59G ( x, y)+ 0.11B ( x, y ) 在图像灰度化时,加权平均法是目前最常用的方法。因为其灰度化结果更为 合理,更符合实际应用的需要。图 2.1.b 为对图 2.1.a 中的彩色图像,采用上述的 加权平均法进行灰度化后的结果。 function I = rgb2gray(varargin) threeD = (ndims(X)==3); T = inv([1.0 0.956 0.621; 1.0 -0.272 -0.647; 1.0 -1.106 1.703]); coef = T(1,:); if threeD if isa(X, 'double') || isa(X, 'single') X = reshape(X(:),origSize(1)*origSize(2),3); sizeOutput = [origSize(1), origSize(2)];

图像处理实验图像的灰度化处理及亮度的调整

重庆交通大学数字图像处理与通信课程实验报告 班级: 实验项目名称:图像的灰度化处理及亮度的调整实验项目性质:设计性实验 实验所属课程:数字图像处理与图像通信 实验室(中心):网络实验中心 指导教师: 实验完成时间:2012年10月16日

教师评阅意见: 签名:年月日实验成绩: 一、实验目的: 1、熟悉matlab或者C#的编程环境,完成在相关环境下图像的读入、显示、 保存等操作; 2、完成图像的灰度化处理; 3、完成图像的亮度调整的模块编写; 4、完成图像的平移操作(选做)。 二、实验主要内容及要求: 1、熟悉matlab软件的工作窗口及命令; 2、通过matlab软件,对一幅图像进行读入,显示,保存,并对其做灰 度化处理; 3、对图像进行亮度调整以及图像的平移。 三、实验设备及软件: PC机一台,MATBLAB软件。 四、设计方案: 通过对图像灰度化处理的算法,将图像的像素值进行线性变换,以及将三维彩色图像转变为二维图像,即实现了将图像灰度化处理。以及增加(降低)像素的值,可以对图像进行亮度的增(减)。对图像进行平移时,可以利用一个生成的零矩阵,将需要平移的图像的像素值按其列或按其行进行递增赋值与零矩阵,即实现了对图像向左右或者向上下的平移。

五、主要代码及必要说明: 1、对图像灰度化 f=imread('Winter.jpg'); figure(1); imshow(f); for x=1:600 for y=1:800 g(x,y)=0.3*f(x,y,1)+0.59*f(x,y,2)+0.11*f(x,y,3); end; end; figure(2); imshow(g); 2、对图像进行平移 clc;clear; a=imread('house.jpg'); b=im2double(a); si=size(b);m=si(1);n=si(2); figure,imshow(b); g1=zeros(m,n); for x=m:-1:51 for y=n:-1:51 g1(x-50,y-50)=b(x,y); end end figure,imshow(g1); 六、测试结果及说明: 通过利用以上代码,对图像进行了灰度化处理,平移处理,其实验结果如下所示:

利用基本灰度变换对图像进行增强

3 利用基本灰度变换对图像进行增强 灰度变换原理:灰度变换是一种空域处理方法,其本质是按一定的规则修改每个像素的灰度,从而改变图像的动态范围实现期望的增强效果。灰度变换按映射函数可分为线性、分段线性和非线性等多种形式。 3.1 线性灰度变换 线性灰度变换是将输入图像灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。可突出感兴趣目标,抑制不感兴趣的目标。在实际运算中,原图像f(x,y)的灰度范围为[a,b],使变换后图像g(x,y)的灰度扩展为[c,d],则采用下述线性变换来实现: c a y x f a b c d y x g +---=]),([),( 线性灰度变换对图像每个灰度范围作线性拉伸,将有效地改善图像视觉效果。 源代码如下: 1、利用灰度调整函数变换图像 A=imread('e:\7.tif','tif'); %读入图像 B=imadjust(A,[0.1,0.8],[0,1]); %灰度调整 imwrite(B,'E:\ 1.tif'); %图像保存 subplot(2,2,1);imshow(A); %显示调整前后图像及其直方图 subplot(2,2,2);imhist(A); subplot(2,2,3);imshow(B); subplot(2,2,4);imhist(B);

0100200 500 1000 0100200 500 1000 2、利用灰度调整算法变换图像 clear; a=60; %图像变换参数设定 b=180; c=0; d=255; A=imread('pout.tif','tif'); %读入图像 [m,n]=size(A); A=double(A); for i=1:1:m %灰度调整 for j=1:1:n if (A(i,j)>=a)&(A(i,j)

灰度变换.

陕西科技大学实验报告 班级:信息071班学号:200712030121姓名仝颖超实验组别: ________ 实验日期:_____________ 报告日期:________________ 成绩:________________ 实验灰度线性变换 一.实验目的 1、掌握matlab编程语言进行编程。 2、用matlab及运用各种数字图像处理方法实现对图像的变换。 二.实验设备 计算机、Matlab软件 三.实验原理 曝光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内。这时在显示器上看到的是一个模糊不清似乎没有灰度层次的图像。用一个线性单值函数,对每一个像素作扩展变换(线性),将会有效地改变图像视觉效果。 四.实验步骤 对图像灰度线性变换 五.源程序清单、测试数据、结果 图像灰度变换是图像增强的一种手段。其中灰度非线性变换能使图像灰度的分布均匀,与人的视觉特性相匹配。MATLAB语言编写的例程和图像运行结果如下: %读入并显示原始图像 l=imread('d:\1.JPG'); Imshow(l); I=double(I); [M,N]=size(l); %进行灰度变换 for i=1:M for j=1:N if I(i,j)<=30 I(i,j)=I(i,j); elseif I(i,j)<=150 l(i,j)=(200-30)/(150-30)*(l(i,j)-30)+30; else I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200; end end end %变换后的结果 figure(2); imshow(ui nt8(l));

三种不同灰度图像增强算法对比

三种不同灰度图像增强算法对比 一、摘要 本文主要是运用直方图均衡化、平滑、锐化三种常见的图像增强算法对图像进行处理,并在此基础上分别用这 3 种算法处理的灰度图像进行比较,比对它们对图像的处理效果, 分析3 种方法在图像增强处理能力的优劣之处。 结果发现,直方图均衡化可以均衡图像的灰度等级, 经过直方图的均衡化,图像的细节更加清楚了,但是由于直方图均衡化没有考虑图像的内容,只是简单的将图像进行直方图均衡,提高图像的对比度,使图像看起来亮度过高,使图像细节受到损失; 图像平滑的目的是减少或消除图像的噪声, 图像平滑可以使图像突兀的地方变得不明显, 但是会使图像模糊,这也是图像平滑后不可避免的后果,只能尽量减轻,尽量的平滑掉图像的噪声又尽量保持图像细节,这也是图像平滑研究的主要问题; 图像锐化使图像的边缘、轮廓变得清晰,并使其细节清晰,常对图像进行微分处理,但是图像的信噪比有所下降。 关键词: 图像增强灰度图直方图平滑锐化 二、三种图像增强算法 图像预处理是相对图像识别、图像理解而言的一种前期处理,主要是指按需要进行适当的变换突出某些有用的信息,去除或削弱无用的信息,在对图像进行分析之前, 通常要对图像质量进行改善,改善的目的就是要使处理后的图像比原始图像更适合特定的应用。影响图像清晰度的因素很多,主要有光照不足、线路传输收到干扰等。 现存的图像增强技术主要分为空间域法和频率域法两类,其中的增强方法主要有直方图的修正、灰度变换、图像平滑、图像锐化、伪彩色和假彩色处理等。下面主要采用直方图均衡化、图像平滑、图像线性锐化对图像进行增强处理, 对比他们的处理效果,分析 3 种方法的在图像增强处理方面的优劣。 1、直方图均衡化 直方图均衡化也称为直方图均匀化,是一种常见的灰度增强算法,是将原图像的直方图经过变换函数修整为均匀直方图,然后按均衡后的直方图修整原图像。 为方便研究,先将直方图归一化,然后图像增强变换函数需要满足2个条件。 假设灰度级为归一化至范围[0,1]内的连续量,设其中任一灰度级别Z归一化为r,变换后图像的任一灰度级Z'归一化为s,显然r,s应当满足:0<=r<=1,0<=s<=1 因此直方图修正就是对下列公式的计算过程:s=T(r)或r=T'(s) 式中T(r)为变换函数,它必须满足下列条件: a在0<=r<=1区间内是单值单调增加函数; b对于0<=r<=1,有T(r)在[0,1]内。 条件a 保证灰度级从黑到白的次序,而条件b确保映射后的像素灰度在允许的范围内,避免整个图像明显变亮或者变暗。 从S 到r的反变换关系为r=T'(s) ;T'(s)对r同样满足上述条件。 灰度变换是对图像上各个像素点的灰度值x 按某个函数T 变换到y ,将图像的灰度级整个范围或其中某一段( A, B)扩展或压缩到( A, B)。直方图均衡化是灰度变换的一个重要应用,是以累计分布函数变换为基础的直方图修正法, 可以产生一幅灰度级分布具有均匀概率密度的图像。一幅图像灰度级r k 出现的概率近似为 其中n 是图像中像素的总和, nk 是灰度级为r k 的像素个数, L 为图像中灰度级总数。若

相关文档
最新文档