文档库 最新最全的文档下载
当前位置:文档库 › 灰度图像二值化方法研究

灰度图像二值化方法研究

灰度图像二值化方法研究
灰度图像二值化方法研究

灰度图像二值化方法研究

摘要:在人类获取的信息中,视觉信息约占60%,听觉约占20%,其它约占20%。由此可见,视觉信息对人类非常重要。同时,图像是人类获取视觉信息的主要途径。图像二值化是图像预处理中的一项重要技术,在模式识别、光学字符识别、医学成像等方面都有重要应用。论文介绍了图像及数字图像处理技术的一些概念和相关知识;对Matlab7.0 软件的发展和软件在图像处理中的应用做了简要介绍;还介绍了灰度图像二值化方法以及利用Matlab7.0软件工具进行算法的实现。课题重点实现了图像分割技术和边缘检测中灰度图像二值化方法,如Otsu算法、Bernsen算法,并对这些算法运行的实验结果进行分析与比较。

关键词:图像处理;边缘检测;二值化;Matlab;Otsu算法;Bernsen算法

Gray image binarization method

Abstract:Human beings obtain a lot of information, among which the visual information is about 60%, the sense of hearing about 20%, and others about 20%. Therefore, the visual information is very important for human beings. Moreover, the images are the primary way, by which a lot of information is obtained. Image binarization, as an important technology in image pre-processing, is widely-employed in pattern recognition, optical character recognition, medical imaging and so forth. In this paper, some notions and relative knowledge in digital image processing technology are introduced; then, the development of Matlab7.0 and its application in image processing briefly introduced; in addition, the method of grayscale image binarization and how to implement these algorithms based on Matlab7.0 are presented. This paper mainly implements the grayscale image binarization method in image segmentation technology and Marginal Detection , such as Otsu algorithm and Bernsen algorithm, and analyzes and compares the experimental results of the above algorithms.

Keywords:Image processing;Marginal Detection;Binarization, Matlab;Otsu algorithm;Bernsen algorithm

目录

1引言 (1)

1.1 图像与数字图像 (1)

1.2 灰度图像二值化原理及意义 (1)

2 灰度图像二值化方法 (2)

2.1 课题研究对象 (2)

2.2 二值化方法研究动态 (3)

3 软件工具——MATLAB进行算法的实现 (5)

3.1 Matlab工具箱实现的常用功能 (5)

3.2 Otsu算法(最大类问方差法) (7)

3.3 Bernsen算法 (7)

4 Otsu方法和Bernsen方法实验比较 (8)

4.1 Otsu方法实验结果分析 (8)

4.2 Bernsen方法结果分析 (10)

4.3 0tsu方法和Bernsen方法实验结果比较 (11)

4.4 结论 (12)

5 结束语 (13)

参考文献 (14)

致谢............................................. 错误!未定义书签。附录:源代码. (16)

1 引言

1.1 图像与数字图像

图像就是用各种观测系统观测客观世界获得的且可以直接或间接作用与人眼而产生视觉的实体。视觉是人类从大自然中获取信息的最主要的手段。拒统计,在人类获取的信息中,视觉信息约占60%,听觉信息约占20%,其他方式加起来才约占20%。由此可见,视觉信息对人类非常重要。同时,图像又是人类获取视觉信息的主要途径,是人类能体验的最重要、最丰富、信息量最大的信息源。通常,客观事物在空间上都是三维的(3D)的,但是从客观景物获得的图像却是属于二维(2D)平面的。

图像存在方式多种多样,可以是可视的或者非可视的,抽象的或者实际的,适于计算机处理的和不适于计算机处理的。但就其本质来说,可以将图像分为以下两大类。

模拟图像。包括光学图像、照相图像、电视图像等。比如人在显微镜下看到的图像就是一幅光学模拟图像。对模拟图像的处理速度快,但精度和灵活性差,不易查找和判断。

数字图像。数字图像是将连续的模拟图像经过离散化处理后得到的计算机能够辨识的点阵图像。在严格意义上讲,数字图像是经过等距离矩形网格采样,对幅度进行等间隔量化的二维函数。因此,数字图像实际上就是被量化的二维采样数组[4]。

1.2 灰度图像二值化原理及意义

灰度图像是指只含亮度信息,不含色彩信息的图像。将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B 三个分量决定,而每个分量有255种值可取,这样一个像素点可以有1600多万的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,一个像素点的变化范围为255种,所以在数字图像处理中一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可先求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。即将256个

亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像[6]

在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素的值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。二值图像在图像分析中应用非常广泛,二值图像就是指只有两个灰度级的图像,二值图像具有存储空间小,处理速度快,可以方便地对图像进行布尔逻辑运算等特点。更重要的是,在二值图像的基础上,还可以进一步对图像处理,获得该图像的一些几何特征或者其他更多特征[7]。 2 灰度图像二值化方法

2.1 课题研究对象

论文主要研究边缘检测物体的边缘是以图像局部特性的不连续性的形式出现的,如灰度值的突变,颜色的变化纹理结构的突变等。图像的边缘信息在图像分析和人的视觉中都是十分重要的,是图像识别中提取图像特征的一个重要属性。图像的边缘有方向和幅度两个特性。通常,沿边缘走向的象素变化平缓,而垂直于边缘走向的象素变化剧烈。这种变化可能呈现阶跃型、房顶型和凸缘型。在边缘上灰度的一阶导数幅值较大,而二阶导数在边缘上的值为0 ,其左右分别为一正一负两个峰,也就是说,边缘点对应于一阶微分幅度大的点,也对应于二阶微分幅度的零交叉点。因此,利用梯度最大值或二阶导数的过零点提取边缘就成为一种有力的手段。

常见的边缘检测算子有:

1.中心差分算子

2(,)(1,)(1,)x f i j f i j f i j =+--? (2.1-1)

2(,)(,1)(,1)y f i j f i j f i j ?=+-- (2.1-2)

2.Robert s 算子

(,)(1,1)(,)f i j f i j f i j +=++-? (2.1-3)

(,)(,1)(1,)f i j f i j f i j -=+-+? (2.1-4)

3.Prewitt 算子

101101101x ?? ? ? ???-?-- 111000111y ?? ? ? ???

?--- (2.1-5)

4.Sobel 算子

101202101x -?? ??- ? ?-?? 121000121y ?? ?? ? ?---??

(2.1-6)

还有一些其它算子,如Kirsh 算子、Robinson 算子、Laplacian 算子等。图像阀值分割是一种广泛使用的图像分割技术,它利用图像中提取的目标物与背景在灰度特性上的差异,把图像视为具有不同灰度级的两类区域(目标和背景) 的组合,以确定图像中每一个象素点应该属于目标区域还是背景区域,从而产生相应的二值图像[2]。

2.2 二值化方法研究动态

作为一种高效智能的人机交互手段,身份证的快速识别技术可以广泛的应用于公民身份核查、暂住人口调查、旅店业登记核查、罪犯追逃等公安业务当中,大大提高了工作人员的录入速度,减少了用户的等待时间,提高了工作效率。由于身份证图像背景复杂,由激光防伪阴影网格线及各种版面噪声构成;且因激光防伪标志和打印条件的千差万别,再加上身份证图像质量偏差,给身份证的字符识别带来了很大的困难。必须经过预处理,除去大量的噪声信号,才能更好的进行字符的定位、分割,以及识别。而二值化是预处理中非常重要的一步,也是最为关键的一步,它直接影响到OCR 系统的性能。研究者在分析和讨论了多种图像二值化的优缺点后,在吸取各种方法优点的基础上,提出了一种新的身份证扫描图像的二值化方法——嵌入式多阈值动态自适应的二值化方法。

图像二值化是图像处理中的一项基本技术,也是很多图像处理技术的预处理过程。在颗粒分析、模式识别技术、光学字符识别(OCR)、医学数据可视化中的切片配准等应用中,图像二值化是它们进行数据预处理的重要技术。由于图像二值化过程将会损失原图像的许多有用信息,因此在进行二值化预处理过程中,能否保留原图的主要特征非常关键。在不同的应用中,图像二值化时阈值的选择是不同的。因此,自适应图像阈值的选取方法非常值得研究。研究者对图像二值化方法进行了讨论,在此基础上提出了一个新的图像二值化算法。该算法基于数学形态学理论,较好地保留了图像二值化时原图的边缘特征。

图像处理中阈值法计算简单,具有较高的运算效率,是图像分割中广泛采用的方法,主要分为全局阈值法和局部阈值法。针对颗粒图像,提出了一种基于形态学的最大类间方差Otsu 二值化算法,实验证明,该算法这一算法能较好地保留原图像中的特征,二值化后的图像效果不错[11]。

基于边缘特征的二值化阈值选取方法,阈值选取是图象处理与分析的基础。针对几种常用的图像二值化自动选取阈值方法,通过计算机仿真对实验结果进行了比较研究。在此基础上,提出了一种新的图像二值化算法。该算法着重于在图像二值化时保留图像的边缘特征。实验结果表明,这个基于边缘特征检测算子的算法能很好地保留原图的边缘特征,并能处理低质量的图像。

图像二值化是指用灰度变换来研究灰度图像的一种常用方法,即设定某一阈值将灰度图像的像素分成大于阈值的像素群和小于阈值的像素群两部分。例如输人灰度图像函数为),(y x f ,输出二值图像函数为),(y x g ,则

?

??≥<=Threshold y x f Threshold y x f y x g ) ,(A ),( 0) , ( (2.2-1) 阈值(threshold )是把目标和背景区分开的标尺,选取适当的阈值就是既要尽可能保存图像信息,又要尽可能减少背景和噪声的干扰,这是选择阈值的原则。

灰度图像的二值化处理有很多种方法[4]。

(1). 平均灰度法

该方法以图像中所有的象素的灰度的平均值为阀值。

(2). 类间方差法

由Ostu 提出的最大类间方差法,是在判决分析最小二乘法原理的基础上推导得出的,是一种被广泛使用的方法。其算法的基本原理是:如果图像的灰度范围为1 到L ,首先把图像的全部象素分为两大组:即灰度范围是(1 ,2 , ……, k )的一组和灰度范围为(1k +,2k +, ……, L ) 的一组,这两组的概率分别如下:

011

()k

k i i i i n p k N ωω=====∑∑ (2.2-2)

1111()L L i i i k i k n p k N ωω=+=+===-∑∑ (2.2-3) 式中, i n 为灰度为i

的象素点;N 为整个图像的象素点; i p 为灰度i 出现的频率; ()k ω 为灰度i 出现的频率的总和。

整幅图像总的平均灰度为:

1()L

i i T T ip μμ===∑ (2.2-4)

两大组之间的方差为:

2220011()()()T T k ωμμωμμσ=-+- (2.2-5)

这里, 0μ 和1μ 分别是两大组各自的平均灰度, 当灰度k 从1 增加到L 时,计算每一个2()k σ ,找出使2()k σ达到最大值时的k 值,这一灰度就是要寻找的阀值。

(3).双峰法

该方法的阀值取为图像灰度直方图双峰间的谷底处。

(4). 大津法

又称最大类间差法,是基于整幅图像的统计特性,实现阈值的自动选取。其原理是把图像直方图用某一灰度值分割成两类,分别计算这两类的像素点数和灰度平均值,然后计算它们的类间方差。当被分割成的两类类间方差最大时,此灰度值就作为图像二值化处理的阈值。但此方法依然存在一些不足,主要表现在:若目标与背景之间灰度差不明显,可能出现大块黑色区域,甚至丢失整幅图像的信息;仅利用一维灰度直方图分布,没有结合图像的空间相关信息,处理效果不好;当图像中有断裂现象或者背景有一定噪声时,无法得到预期效果。

(5). 边缘算子法

采用Laplace 算子、Robert 算子、Sober 算子等对像素点进行灰度级增强或减弱的变换。对于灰度均匀分布的区域内的像素点,这些算子对其进行灰度减弱;对于在边缘附近的像素点,这些算子对其进行灰度增强[10]。

3 软件工具——MATLAB 进行算法的实现

3.1 Matlab 工具箱实现的常用功能

就图像处理的基本过程讨论工具箱所实现的常用功能。

(1) 常用图像操作:

图像的读写与显示操作:用imread ()读取图像,imwrite ()输出图像,把图像显示于屏幕有imshow (),image ()等函数。imcrop ()对图像进行剪裁,图像的插值缩放可用imresize ()函数实现,旋转用imrotate ()实现。

(2) 图像增强功能:

图像增强是数字图像处理过程中常用的一种方法,目的是采用一系列技术去

改善图像的视觉效果或将图像转换成一种更适合于人眼观察和机器自动分析的形式。常用的图像增强方法有以下几种:

灰度直方图均衡化。均匀量化的自然图像的灰度直方图通常在低灰度区间上频率较大,似的图像中较暗区域中细节看不清楚,采用直方图修整可使原图灰度集中的区域拉开或使灰度分布均匀,从而增大反差,使图像的细节清晰,达到增强目的。直方图均衡化可用histeq()函数实现。

灰度变换法。照片或电子方法得到的图像,常表现出低对比度即整个图像较亮或较暗,为此需要对图像中的每一像素的灰度级进行标度变换,扩大图像灰度范围,以达到改善图像质量的目的。这一灰度调整过程可用imadjust()函数实现平滑与锐化滤波。平滑技术用于平滑图像中的噪声基本采用在空间域上的求平均值或中值。或在频域上采取低通滤波,因在灰度连续变化的图像中,我们通常认为与相邻像素灰度相差很大的突变点为噪声点,灰度突变代表了一种高频分量,低通滤波则可以削弱图像的高频成分,平滑了图像信号,但也可能使图像目标区域的边界变得模糊。而锐化技术采用的是频域上的高通滤波方法,通过增强高频成分而减少图像中的模糊,特别是模糊的边缘部分得到了增强,但同时也放大了图像的噪声。在MATLAB中,各种滤波方法都是在空间域中通过不同的军纪模板即滤波算子实现,可用fspecial()函数创建预定义的滤波算子,然后用filter2()或conv2()函数在实现卷积运算的基础上进行滤波。

(3)边缘检测和图像分割功能

边缘检测是一种重要的区域处理方法,边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。如果一个像素落在边界上,那么它的邻域将成为一个灰度级变化的带。对这种变化最有用的两个特征就是灰度的变化率和方向。边缘检测算子可以检查每个像素的邻域并对灰度变化率进行量化,也包括对方向的确定,其中大多数是基于方向倒数掩模求卷积的方法。MATLAB 工具箱提供的edge()函数可针对sobel算子、prewitt算子、Roberts算子、log算子和canny算子实现边缘检测的功能。基于灰度的图像分割方法也可以用简单的MATLAB代码实现。

(4)图像变换功能

图像变换技术是图像处理的重要工具,常运用于图像压缩、滤波、编码和后续的特征抽取或信息分析过程。MATLAB工具箱提供了常用的变换函数,如fft2()

与ifft2()函数分别实现二维快速傅立叶变换与其逆变换,dct2()与idct2()函数实现二维离散余弦变换与其逆变换,Radon ()与iradon ()函数实现Radon 变换与逆Radon 变换。

除以上基本图像处理功能,MATLAB 还提供了如二值图像的膨胀运算dilate ()函数、腐蚀运算erode ()函数等基本数学形态学与二值图像的操作函数[5]。

3.2 Otsu 算法(最大类问方差法)

最大类间方差法是由Otsu 于1979年提出的,是基于整幅图像的统计特性,实现阈值的自动选取的,是全局二值化最杰出的代表。Otsu 算法的基本思想是用某一假定的灰度值将图像的灰度分成两组(或者叫两类),当两组的类间方差最大时,此灰度值就是图像二值化的最佳阈值。设图像有M 个灰度值,取值范围01M - ,在此范围内选取灰度值t ,将图像分成两组0G 和1G ,0G 包含的像素的

灰度值在0t -,1G 的灰度值在11t M +--,用N 表示图像像素总数,i n 表示灰度值为i 的像素的个数,则:每一个灰度值i 出现的概率为:

/i i p n N =; (3.2-1)

0G 和1G 类出现的概率及均值为:

概率 1

01001,1t M i i i i t p p ωωω-==+==-∑∑ (3.2-2)

均值10101,t M i i

i i t ip ip μμ-==+==

∑∑ (3.2-3)

类间方差22010()()t t σωωμμ=- (3.2-4)

最佳阈值T 就是使类间方差最大的t 的取值,即[]2argmax (),0,1T t t M σ=∈-. Otsu 算法可这样理解:阈值T 将整幅图像分成前景和背景两部分,当两类的类间方差最大时,此时前景和背景的差别最大,二值化效果最好[2]。

3.3 Bernsen 算法

Bernsen 算法是一种典型的局部二值化算法,是一种动态选择阈值的自适应方法。设图像在像素点(,)x y 处的灰度值为(,)f x y ,考虑以像素点(,)x y 为中心的(21)(21)ωω+?+窗口(2w+l 是窗口的宽度),则Bersen 算法可以描述如下:

(1)计算图像中各点(,)x y 的阈值(,)w x y

(,)

0.5(m a x (,)m i n (w x y f x m y n f x m y n =?+++++; (3.3-1)

w m w w n w -≤≤-≤≤ w m w w n w

-≤≤-≤≤ (2)对图像中各像素点(,)x y 用(,)w x y 值逐点进行二值化,本文仿真时取

1ω=,即利用当前像素点周围八点邻域来计算当前像素点的Bernsen 阈值[3]。 4 Otsu 方法和Bernsen 方法实验比较

本论文只是对于边缘检测灰度图像进行研究。用Otsu 方法和Bernsen 方法对图像进行二值化处理,以下为研究对象的几张原始图像,如下图4.1所示:

(c) (b) (a)

(f) (d) (e)

图4.1 原图 (a) lenna 原始图像(256×256);(b)barbara 原始图像(256×256);(c)peppers 原始图像(256×256);

(d) lenna 原始图像(512×512);(e)barbara 原始图像(512×512);(f)peppers 原始图像(512×512) [4];

4.1 Otsu 方法实验结果分析

对上面这六幅图像都采用Otsu 算法进行图像二值化处理。其结果如下面图所示。lenna(256×256)、lenna(512×512)原始图像通过Otsu 方法二值化后的所得到的二值图像如图4.2所示。barbara(256×256)、barbara(512×512)原始图像通过Otsu 方法二值化后的所得到的二值图像如图 4.3所示。peppers(256×256)、peppers(512×512)原始图像通过Otsu 方法二值化后的所得到的二值图像如图4.4

所示。

(d1) (a1)

图4.2 Otsu方法二值化lenna图像

(a1)二值lenna图像(256×256);(d1)二值lenna图像(512×512)

(e1) (b1)

图4.3 为Otsu方法二值化barbara图像

(b1)二值barbara图像(256×256);(e1)二值barbara图像(512×512)

(f1) (c1)

图4.4 为Otsu方法二值化barbara图像

(c1)二值peppers图像(256×256);(f1)二值peppers图像(512×512) 实验结果分析如表4.1。

表4.1 Otsu 方法处理不同像素的不同图像 性能指标 图4.2(a1) 图4.2(d1) 图4.3(b1) 图4.3(e1) 图4.4(c1) 图

4.4(f1)

阈值(T)

109 129 114 118 96 106 时间(S)/s

1.0940 3.8750 1.1870 3.6720 1.0470 3.7810 熵值(H) 0.9993 1.0000 0.9997 0.9944 0.9356

0.9998 原图4.1(a)为256×256的图像,原图4.1(d)为512×512的图像。以图4.2(a1)和4.2(d1)为例,lenna512×512的图像时间为3.8750,阈值为129;lenna256×256的时间为1.0940,阈值为109。可知,512×512 图像的执行时间要比256×256图像的时间要长,说明图像越大,用Otsu 方法对其进行二值化处理所需时间越长;大图像的阈值也比小图像要大。熵值是衡量图像有序化程度的一个度量,熵值越低图像越有序,图4.2(d1)即lenna(512×512)在进行比较的图像中是最混乱的[4]。

4.2 Bernsen 方法结果分析

再对上面这六幅原图像都采用Bernsen 算法进行图像二值化处理。其结果如下面图所示。lenna(256×256)、lenna(512×512)原始图像通过Bernsen 方法二值化后的所得到的二值图像如图4.5所示。barbara(256×256)、barbara(512×512)原始图像通过Bernsen 方法二值化后的所得到的二值图像如图 4.6所示。peppers(256×256)、peppers(512×512)原始图像通过Bernsen 方法二值化后的所得到的二值图像如图4.7所示。

(d2) (a2)

图4.5 Bernsen 方法二值化lenna 图像

(a2)二值lenna 图像(256×256); (d2)二值lenna 图像(512×512)

(b2) (e2)

图4.6 Bernsen 方法二值化barbara 图像

(b2)二值barbara 图像(256×256); (e2)二值barbara 图像(512×

512)

(f2) (c2)

图4.7 Bernsen 方法二值化peppers 图像

(c2)二值peppers 图像(256×256); (f2)二值peppers 图像(512×512)

实验结果分析如表4.2。

表4.2 Bernsen 方法处理不同像素的不同图像 性能指标 图4.5(a2) 图4.5(d2) 图4.6(e2) 图4.6(b2) 图4.7(c2) 图

4.7(f2)

阈值(T)

时间(S)/s

4.2032 8.7500 2.2970 8.5940 3.1870 8.8440 熵值(H) 0.9131 0.8533 0.9339 0.9238 0.8715 0.8922 因为Bernsen 方法不存在预取阈值,得到的都是局部阈值,随像素的变化而变化,所以没有固定的阈值。图像越大用Bernsen 算法对其进行二值化处理的时间越长[12]。

4.3 0tsu 方法和Bernsen 方法实验结果比较

在表中用一些变量保存了有用的实验数据。T 表示Otsu 方法、Bernsen 方法的运行时间,单位为秒。H 表示由Otsu 方法、Bernsen 方法处理得到的二值图像的熵值,单位为比特/符号。熵值的定义为:

()()∑==M i x p i i x p x H 1/12l o g

)()( (4.3-1)

图像的熵值反映了整幅图像的效果。信息熵是信息论中用于度量信息量的一个概念。一幅图像越是有序,信息熵就越低;反之,一幅图像越是混乱,信息熵就越高。所以,信息熵也可以说是衡量图像有序化程度的一个度量。程序的运行时间代表算法运行效率,也是算法的一项性能指数[1]。

表4.3 两种方法性能比较 二值化方法

Otsu 方法 Bernsen 方法 性能指标

阈值(T ) 时间(S )/s 熵值(H ) 时间(S )/s 熵值(H ) lenna 256×256 109

1.0940 0.9993 4.2032 0.9131 512×512 129

3.8750 1.0000 8.7500 0.8533 barbara 256×256 114

1.1870 0.9997

2.2970 0.9339 512×512 118

3.6720 0.9944 8.5940 0.9238 peppers 256×256 96

1.0470 0.9356 3.1870 0.8715 512×512

106 3.7810 0.9998 8.8440 0.8922 Bernsen 方法由于不存在预取阈值,得到的都是局部阈值,随像素的变化而变化,没有固定的阈值。

程序运行时间T :T(Bernsen)>T(Otsu),可见Bernsen 算法要寻找局部极大、极小值,因此速度较慢;TOtsu(256×256)< TOtsu(512×512) ,TBernsen(256×256)< TBernsen(512×512),可见图像越大,二值化程序运行所需时间就越长。二值图像的熵值:H(Otsu)>H(Bernsen),可以见Otsu 方法对于光照不均、噪声干扰大的图像,其二值化效果较差,其反映了整个图像的整体灰度分布情况[4]。

4.4 结论

Otsu 是经典的非参数、无监督自适应阈值方法,是一种直方图技术。理想情况下,在直方图上代表物体和背景的两个峰之间有一个明显的谷,谷底就是最优阈值。但在一些实际图像中谷很平,很宽,并且受噪声干扰严重,或是两个峰的高度相差较大。这时寻找最佳阈值很困难。Otsu 法就是针对这种情况提出的,

并且它不需要其它的先验知识,至今仍是最常用的二值化方法之一。Otsu 方法实现简单,对于具有明显双峰直方图的图像效果明显,但对于低对比度和光照不均匀的图像效果不佳,抗噪声能力差,因而应用范围受到极大限制[7]。

Bernsen 方法虽然能够根据局部灰度特性来自适应地选取阀值,有较大的灵活性,但是仍然存在缺点和问题:

(1)实现速度慢。由于Bernsen 算法要寻找局部极大、极小值,因此速度较慢。如果每次比较运算耗时一个单元时间,则处理M N ?图像耗时由M N ?)12()12(+?+ωω决定。当局部窗口增大时,对时间消耗的影响与窗口尺寸成平方关系[7]。

(2)有伪影现象。采用Bernsen 算法时,常常在背景区域出现伪笔画,这叫做伪影现象。出现这种现象是因为Bernsen 算法以局部窗口内极大、极小值作为考察点的邻域,当考察窗口内无目标点时,个别噪声点将引起阈值的突变,背景灰度的非均匀性也将影响局部阈值的变化,从而使得本应是背景的点被二值化为目标点[4]。

(3)有笔画断裂现象。 Bernsen 算法考察窗口内均为目标点时,局部阈值被拉升于是部分目标点被二值化为背景,致使信息丢失,从而出现笔画断裂现象[6]。 5 结束语

在两个多月的毕业设计中,通过广泛查阅与课题有关的内容,我掌握了许多与计算机有关的东西,更重要的是使我对7.0软件功能应用和图像处理知识有了一定的了解。为此,我对用MATLAB7.0进行图像处理的步骤、方法及思路有了一个全新的认识。这加深了我对计算机软件MATLAB7.0的熟悉,同时也了解到数字图像处理如在模式识别,医学,军事等方面都有广泛运用,我受益非浅。

通过这次的毕业设计,我不仅拓宽了自己的知识面,还在实践过程中巩固和加深了自己所学的理论知识,使自己的技术素质和实践能力有了进一步的提高。

在图像处理方面也累积了不少经验,特别是在对软件开发工具和图像处理不很熟悉的情况下,通过自己的学习和导师的指导完成了设计任务。并在设计过程中,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了对知识的理解。

参考文献

[1] Liu Jieping,Yu Yinglin.A flexible method for image noise removal[J].Joural of

South China University Technology,2000,28(2):60~63.

[2] A Piva, M Barni,F Bartolini, V Cappellini. DCT-based watermark recovering

without resorting to the uncorrupted original image[A].Proceedings of 4th IEEE International Conference on Image Processing ICIP’97[C].Santa Barbara,CA,USA:ICIP,1997.

[3] Zhong wei.Image watermarking using Legendre array[J].Journal of china institute

of communications,2001,22(1):1~6.

[4] 百度. https://www.wendangku.net/doc/7b435976.html,/view/ea5e0f2e453610661ed9f478.html.

[5] 楼顺天.matlab7.0及其应用[M].西安电子科技大学出版社,2003,21 45.

[6] 章毓晋.图像工程[M].清华大学出版社,2001,10 33.

[7] R.C.冈萨雷斯,P.温茨.数字图像处理[J].北京:人民邮电出版社,2003,535 546。

[8] 潘梅森,荣秋生.SOFM神经网络的图像融合的二值化方法[J].光学精密工

程,2007,15(3):99~104.

[9] 潘梅森,易明.一种基于人类视觉的自适应均值滤波算法[J].计算机工程与应

用,2006,42(10):62~64.

[10] 黄春艳等.基于熵的图像二值化方法比较研究[J].河南大学学报(自然

科学版),2005年6月,第35卷第2期.

[11] 李文举,梁德群,王新年.质量退化的车牌字符分割方法[J].计算机辅助设计与

图形学学报,2004,16(5):697~700.

[12] 郝永杰,刘文耀,路烁.畸变汽车牌照图像的空间校正[J].西南交通大学学

报,2002, 4(37): 417~420

附录:源代码

Otsu算法代码:

time=now; %取当前时间

I=imread('lena256.bmp');%读取图像

imshow(I);

[N,M]=size(I);%用N,M分别存储图像数组的行数和列数length=N*M; %取得图像数组的像素点个数

L=256;%设定图像的灰度为256

count=0; %用来记录出现灰度值相同的个数

for k=0:L-1

for i=1:N

for j=1:M

if I(i,j)==k

count=count+1; %个数加一

end

end

end %求出每个像素出现的次数

P(k+1)=count/length;%记录像素值为K出现的概率

count=0; %再次赋予0进入下一个像素的个数记录

end

for i=1:L

if P(i)~=0

first=i;%找出第一个概率不连续为0的像素

break

end

end

for i=L:-1:1

if P(i)~=0

last=i;%找出最后一个出现概率不连续为0的像素

break

end

end

entropy1=0; %记录灰度图像的熵值

for i=first:last

if (P(i)~=0)

entropy1=entropy1+P(i)*log2(1/P(i)); %求取熵值的公式

end

end

ep=0;%用来记录每个灰度级的概率

averF=0; %记录目标均值的叠加值

averB=0; %记录背景均值的叠加值

for t=0:L

y=t+1;%好做标记

if (y>first)&&(y

for k=1:y

ep=ep+P(k);%存储选取阈值为t时目标点的概率

end

w0(y)=ep;

w1(y)=1-w0(y); %总概率为1

for i=1:t

ep=averF+(i)*P(i)/w0(y); %求出目标均值

end

u0(y)=averF; %赋予目标均值

for i=t:L

averB=averB+(i)*P(i)/w1(y);%求出背景均值

end

u1(y)=averB;

u=w0(y)*u0(y)+w1(y)*u1(y); %总均值

arg(y)=w0(y)*(u0(y)-u)*(u0(y)-u)+w1(y)*(u1(y)-u)*(u1(y)-u); %算出每一个t对应的方差值

end

ep=0;

averF=0;

averB=0; %用完一次需赋0,以保证进入下一个t的计算的正确性

end

high=arg(1);

for i=2:last-first-3 %因为first

high=arg(i); %把大值赋予max(x)

x=i; %记录大值的下标

end

end

t=x-1;%记录t是从下标1开始的,此时的t就是我们所求的阈值

I0=0;

I1=0;

for i=1:N

for j=1:M

if (I(i,j)>=t)

y1(i,j)=255;

I1=I1+1;%统计目标像素点的个数

else

y1(i,j)=0;

I0=I0+1;%统计背景像素点的个数

end

end

end

figure,imshow(y1); %显示二值化图像

entropy1; %求出二值化图像的熵值

back=(I0/(N*M))*log2(N*M/I0); %求出背景像素的熵值

fore=(I1/(N*M))*log2(N*M/I1); %求出目标像素的熵值

entropy2=back+fore %求出二值化图像的熵值

exetime=second(now-time) %求得程序运行所需时间,并转化成秒显示t %阈值显示

Bernsen算法代码:

time=now; %取当前时间

I=imread('lena256.bmp'); %读取图像

数字图像的灰度处理简述

数字图像的灰度处理 数字图像处理的目的和意义: 图象处理着重强调的是在图象之间进行的各种变换,对图象进行各种加工以改善图象的视觉效果。在图象的灰度处理中,增强操作、直方图及图象间的变换是实现点操作的增强方式,又被称作灰度变换。本文主要介绍了一些数字图像灰度处理的方法,其中图象取反是实现图象灰度值翻转的最直接的方法;灰度切分可实现强化某一灰度值的目的。对直方图进行均衡化修正,可使图象的灰度间距增大或灰度均匀分布、增大反差,使图象的细节变得清晰。 数字图像处理是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的彩色图像灰度化处理

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

基于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三个分量的亮度求简单的平均值,将得到均值作为灰度值

图像处理灰度变换实验

一. 实验名称:空间图像增强(一) 一.实验目的 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 。

图像灰度化

图像灰度化 颜色可分为黑白色和彩色。黑白色指颜色中不包含任何的色彩成分,仅由黑色和白色组成。在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 )

(完整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)];

图像灰度化

图像灰度化 图像灰度化原理:关于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, 图像处理结果:

数字图像灰度图像二值化实验报告matlab实现

数字图像处理 实验报告 实验二灰度图像的二值化处理 学号 姓名 日期

实验二灰度图像的二值化处理 一、实验目的 图像二值化是数字图像处理技术中的一项基本技术,二值化图像的显示与打印十分方便,存储与传输也非常容易,在目标识别、图像分析、文本增强、字符识别等领域得到广泛应用。图像二值化是将灰度图像转化为只有黑白两类像素的图像,大多采用阈值化算法处理。在不同的应用中,阈值的选取决定着图像特征信息的保留。因此,图像二值化技术的关键在于如何选取阈值。 二、实验内容 1、编程绘制数字图像的直方图。 2、灰度图像二值化处理。 三、实验要求 1、自己选择灰度图像。 2、选择多种阈值分割算法,并比较和分析图像二值化处理的结果。 3、使用VC++编程序。 四、设计思想(阈值选取算法) 灰度图像是指只含亮度信息,不含色彩信息的图像,将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。图像的二值化处理就是将图像上的点的灰度置为0或255,也就是使整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。阀值分割选取算法有:典型的全局阀值算法的Otsu 算法、局部阀值方法中的Bersen算法、灰度拉伸法、直方图方法等等。 1.Otsu算法的设计思想:设阀值将图像分割成两组,一组灰度对应目标, 另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。对图像设阈值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。 2.Bersen算法的设计思想:把灰度阈值选取为随像素位置变化而变化的 函数,它是一种动态选择阈值的自适应方法。 3.灰度拉伸算法设计思想:灰度拉伸又叫对比度拉伸,它是最基本的一 种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度级的动态范围。 4.直方图算法的设计思想:把原始图像的灰度直方图从比较集中的某个 灰度区间变成在全部灰度范围内的均匀分布。 五、源程序(附上注释) 1. OTSU算法代码: I=imread('2.jpg'); th=graythresh(I); J=im2bw(I,th); subplot(121) imshow(I); subplot(122) imshow(J);

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

重庆交通大学数字图像处理与通信课程实验报告 班级: 实验项目名称:图像的灰度化处理及亮度的调整实验项目性质:设计性实验 实验所属课程:数字图像处理与图像通信 实验室(中心):网络实验中心 指导教师: 实验完成时间: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); 六、测试结果及说明: 通过利用以上代码,对图像进行了灰度化处理,平移处理,其实验结果如下所示:

数字图像灰度阈值的图像分割技术matlab.(优选)

1.课程设计的目的 (1)使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各 种因素对分割效果的影响 (2)使用Matlab软件进行图像的分割 (3)能够进行自行评价各主要算子在无噪声条件下和噪声条件下的分割 性能 (4)能够掌握分割条件(阈值等)的选择 (5)完成规定图像的处理并要求正确评价处理结果,能够从理论上做出合 理的解释 2.课程设计的要求 (1)能对图像文件(bmp,jpg,tiff,gif)进行打开,保存,退出等功能操作 (2)包含功能模块:图像的边缘检测(使用不同梯度算子和拉普拉斯算子)(3)封闭轮廓边界 (4)区域分割算法:阈值分割,区域生长等

3.前言 3.1图像阈值分割技术基本原理 所谓图像分割是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分成若干个互不相交的区域,使得这些特征在同一区域内,表现出一致性或相似性,而在不同区域间表现出明显的不同。简单的讲,就是在一幅图像中,把目标从背景中分离出来,以便于进一步处理。图像分割是图像处理与计算机视觉领域低层次视觉中最为基础和重要的领域之一,它是对图像进行视觉分析和模式识别的基本前提。同时它也是一个经典难题,到目前为止既不存在一种通用的图像分割方法,也不存在一种判断是否分割成功的客观标准]5[。 在对图像的研究和应用中,人们往往仅对图像中的某些部分感兴趣,这些部分称为目标或前景(其他部分称为背景),他们一般对应图像中特定的、具有独特性质的区域。为了辨识和分析目标,需要将他们分离提取出来,在此基础上才有可能对目标进一步利用。图像分割就是指把图像分成格局特性的区域并提取出感兴趣目标的技术和过程。这里特性可以是象素的灰度、颜色、纹理等,预先定义的目标可以对应单个区域,也可以对应多个区域。现有的图像分割算法有:阈值分割、边缘检测和区域提取法。本文着重研究基于阈值法的图像分割技术。 若图像中目标和背景具有不同的灰度集合:目标灰度集合与背景灰度集合,且两个灰度集合可用一个灰度级阈值T进行分割。这样就可以用阈值分割灰度级的方法在图像中分割出目标区域与背景区域,这种方法称为灰度阈值分割方法。 在物体与背景有较强的对比度的图像中,此种方法应用特别有效。比如说物体内部灰度分布均匀一致,背景在另一个灰度级上也分布均匀,这时利用阈值可以将目标与背景分割得很好。如果目标和背景的差别是某些其他特征而不是灰度特征时,那么先将这些特征差别转化为灰度差别,然后再应用阈值分割方法进行处理,这样使用阈值分割技术也可能是有效的

灰度图像

灰度图像 一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。红色、绿色、蓝色三个通道的缩览图都是以灰度显示的。用不同的灰度色阶来表示“ 红,绿,蓝”在图像中的比重。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。 通道是整个Photoshop显示图像的基础。色彩的变动,实际上就是间接在对通道灰度图进行调整。通道是Photoshop处理图像的核心部分,所有的色彩调整工具都是围绕在这个核心周围使用的。 灰度图像是一种具有从黑到白256级灰度色域或等级的单色图像。该图像中的每个像素用8位数据表示,因此像素点值介于黑白间的256种灰度中的一种。该图像只有灰度等级,而没有颜色的变化。在Photoshop中,将灰度图像作为一种颜色通道的数字图像。 在计算机领域中,灰度数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;灰度图像在黑色与白色之间还有许多级的颜色深度。但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像。 灰度与灰度图像 灰度也可以认为是亮度,简单说就是色彩的深浅程度。 实际上在我们的日常生活中,通过三原色色彩深浅的组合,可以组成各种不同的颜色。产品能够展现的灰度数量越多,也就意味着这款产品的色彩表现力更加丰富,能够实现更强的色彩层次。例如三原色16级灰度,能显示的颜色就是16×16×16=4096色。不过目前的产品256级灰度已经非常地普遍了。 所谓颜色或灰度级指黑白显示器中显示像素点的亮暗差别,在彩色显示器中表现为颜色的不同,灰度级越多,图像层次越清楚逼真。灰度级取决于每个像素对应的刷新存储单元的位数和显示器本身的性能。如每个象素的颜色用16位二进制数表示,我们就叫它16位图,它可以表达2的16次方即65536种颜色。如每一个象素采用24位二进制数表示,我们就叫它24位图,它可以表达2的24次方即16777216种颜色。 灰度就是没有色彩,RGB色彩分量全部相等。 如果是一个二值灰度图象,它的象素值只能为0或1,我们说它的灰度级为2。用个例子来说明吧:一个256级灰度的图象,RGB(100,100,100)就代表灰度为100,RGB(50,50,50)代表灰度为50。 灰度是指黑白图像中点的颜色深度,范围一般从0到255,白色为255 ,黑色为0,故黑白图片也称灰度图像,在医学、图像识别领域有很广泛的用途

灰度图像二值化方法matlab代码

OTSU算法代码: I=imread('****'); th=graythresh(I); J=im2bw(I,th); subplot(121) imshow(I); subplot(122) imshow(J); Bernsen算法代码: clc; clear all close all I=imread('****'); [m,n] = size(I); I_gray=double(I); T=zeros(m,n); M=3; N=3; for i=M+1:m-M for j=N+1:n-N max=1;min=255; for k=i-M:i+M for l=j-N:j+N if I_gray(k,l)>max max=I_gray(k,l); end if I_gray(k,l)

for i=1:m for j=1:n if I_gray(i,j)>T(i,j) I_bw(i,j)=255; else I_bw(i,j)=0; end end end subplot(121),imshow(I); subplot(122),imshow(I_bw); 改进的Bernsen算法代码:clc; clear all close all I=imread('****'); I_gray=double(I); [m,n] = size(I); a=0.3; A=0;T1=0;S=0; for i=1:m for j=1:n A=A+I_gray(i,j) ; end end A=A*0.9; while(S

图像处理实验报告

摘要: 图像处理,用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。图像处理一般指数字图像处理。 数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 设计要求 可视化界面,采用多幅不同形式图像验证系统的正确性; 合理选择不同形式图像,反应各功能模块的效果及验证系统的正确性 对图像进行灰度级映射,对比分析变换前后的直方图变化; 1.课题目的与要求 目的: 基本功能:彩色图像转灰度图像 图像的几何空间变换:平移,旋转,剪切,缩放 图像的算术处理:加、减、乘 图像的灰度拉伸方法(包含参数设置); 直方图的统计和绘制;直方图均衡化和规定化; 要求: 1、熟悉图像点运算、代数运算、几何运算的基本定

义和常见方法; 2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法 3、掌握在MATLAB中进行插值的方法 4、运用MATLAB语言进行图像的插值缩放和插值旋转等 5、学会运用图像的灰度拉伸方法 6、学会运用图像的直方图设计和绘制;以及均衡化和规定化 7、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际2.课题设计内容描述 1>彩色图像转化灰度图像: 大部分图像都是RGB格式。RGB是指红,绿,蓝三色。通常是每一色都是256个级。相当于过去摄影里提到了8级灰阶。 真彩色图像通常是就是指RGB。通常是三个8位,合起来是24位。不过每一个颜色并不一定是8位。比如有些显卡可以显示16位,或者是32位。所以就有16位真彩和32位真彩。 在一些特殊环境下需要将真彩色转换成灰度图像。 1单独处理每一个颜色分量。 2.处理图像的“灰度“,有时候又称为“高度”。边缘加强,平滑,去噪,加 锐度等。 3.当用黑白打印机打印照片时,通常也需要将彩色转成灰白,处理后再打印 4.摄影里,通过黑白照片体现“型体”与“线条”,“光线”。 2>图像的几何空间变化: 图像平移是将图像进行上下左右的等比例变化,不改变图像的特征,只改变位置。 图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴按比例缩放fy倍,从而获得一幅新的图像。如果fx=fy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fx≠fy,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。 旋转。一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。旋转后图像的的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。图像的旋转变换也可以用矩阵变换来表示。

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

三种不同灰度图像增强算法对比 一、摘要 本文主要是运用直方图均衡化、平滑、锐化三种常见的图像增强算法对图像进行处理,并在此基础上分别用这 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 为图像中灰度级总数。若

灰度图像二值化方法研究

灰度图像二值化方法研究 摘要:在人类获取的信息中,视觉信息约占60%,听觉约占20%,其它约占20%。由此可见,视觉信息对人类非常重要。同时,图像是人类获取视觉信息的主要途径。图像二值化是图像预处理中的一项重要技术,在模式识别、光学字符识别、医学成像等方面都有重要应用。论文介绍了图像及数字图像处理技术的一些概念和相关知识;对Matlab7.0 软件的发展和软件在图像处理中的应用做了简要介绍;还介绍了灰度图像二值化方法以及利用Matlab7.0软件工具进行算法的实现。课题重点实现了图像分割技术和边缘检测中灰度图像二值化方法,如Otsu算法、Bernsen算法,并对这些算法运行的实验结果进行分析与比较。 关键词:图像处理;边缘检测;二值化;Matlab;Otsu算法;Bernsen算法 Gray image binarization method Abstract:Human beings obtain a lot of information, among which the visual information is about 60%, the sense of hearing about 20%, and others about 20%. Therefore, the visual information is very important for human beings. Moreover, the images are the primary way, by which a lot of information is obtained. Image binarization, as an important technology in image pre-processing, is widely-employed in pattern recognition, optical character recognition, medical imaging and so forth. In this paper, some notions and relative knowledge in digital image processing technology are introduced; then, the development of Matlab7.0 and its application in image processing briefly introduced; in addition, the method of grayscale image binarization and how to implement these algorithms based on Matlab7.0 are presented. This paper mainly implements the grayscale image binarization method in image segmentation technology and Marginal Detection , such as Otsu algorithm and Bernsen algorithm, and analyzes and compares the experimental results of the above algorithms. Keywords:Image processing;Marginal Detection;Binarization, Matlab;Otsu algorithm;Bernsen algorithm

用matlab实现图像灰度变换课程设计

课程设计报告册 课程名称: MATLAB课程设计 课题名称:灰度变换增强 专业班级: 姓名: Bob Wang 学号: 15164 课程设计主要场所:信息楼220 时间: 指导教师:成绩:

前言 数字图像处理技术是20世界60年代发展起来的一门新兴学科,随着图像处理理论和方法的进一步完善,使得数字图像处理技术在各个领域得到了广泛应用,并显示出广阔的应用前景。MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或变成以完成各自的计算。MATLAB中集成了功能强大的图像处理工具箱。由于MATLAB语言的语法特征与C语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,而且这种语言可移植性好、可扩展性强,再加上其中有丰富的图像处理函数,所以MATLAB在图像处理的应用中具有很大的优势。 MATLAB是一种以矩阵运算为基础的交互式程序语言,能够满足科学、工程计算和绘图的要求,与其它计算机语言相比,其特点是简洁和智能化,适应科技专业人员的思维方式和书写习惯,使得编程和调试效率大大提高。我们学习掌握MATLAB,也可以说是在科学工具上与国际接轨。

目录 一、课程设计目的 (2) 二、设计任务及内容 (2) 三、课题设计实验条件 (3) 四、涉及知识 (3) 五、具体设计过程及调试 (4) 5.1、图像的读入和显示 5.1.1、打开图像 (4) 5.1.2、显示原图像 (5) 5.1.3、图像灰度处理 (7) 5.1.4、显示灰阶后图像 (8) 5.2、直方图均衡化 5.2.1、生成直方图 (10) 5.2.2、直方图均衡化 (12) 5.3、灰度变换 5.3.1、线性变换 (9) 5.3.2、分段线性变换 (9) 5.3.3、非线性变换.................................... (9) 六、心得体会 (17) 七、参考文献 (18) 八、程序清单 (19)

相关文档
相关文档 最新文档