阈值分割之Niblack方法的实现毕业论文_第1页
阈值分割之Niblack方法的实现毕业论文_第2页
阈值分割之Niblack方法的实现毕业论文_第3页
阈值分割之Niblack方法的实现毕业论文_第4页
阈值分割之Niblack方法的实现毕业论文_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 本科毕业设计(论文)_阈值分割之niblack方法的实现_ 系 别 电子信息工程系 专业班级 自动化(1)班 学生姓名 指导教师 提交日期 2010年 6月 9 日 毕 业 设 计 (论文) 任 务 书 1.毕业设计(论文)题目: 阈值分割之niblack方法的实现 2.应完成的项目: (1) 了解数字图像的基本概念 (2) 理解图像分割的基本原理和掌握一至两种具体方法 (3) 理解并掌握niblack方法,并编程实现 (4) 利用其他方法获得分割阈值,并与niblack方法获得的阈值,用不同的阈值去分给图像后进行对比分析。 3.参考资料以及说明: (1) 数字图像处理学冈萨雷斯 著,电子工

2、业出版社,2002年 (2) 数字图像处理 阮秋琦 著 ,电子工业出版社,2004年 (3) (4) (5) (6) (7) 4.本毕业设计(论文)任务书于2010 年3月3日发出,应于2010年6月3 日前完成,然后提交毕业考试委员会进行答辩。 专业教研组(系)、研究所负责人 审核 年 月 日 指导教师 签发 年 月 日 摘 要 在人类获取的信息中,视觉信息约占60%,听觉约占20%,其它约占20%。由此可见,视觉信息对人类非常重要。同时,图像是人类获取视觉信息的主要途径,图像阈值分割是图像处理中的一项重要技术。在图像阈值分割中关键的是阈值的选取问题,另外还有计算机速度的问题等。针对这些问题

3、,本文采用了niblack算法对图像进行阈值分割。在图像阈值分割中,在一张图像采用固定的阈值进行分割时,图像细节在图像中存在较多的阴影或者图像灰度变化比较复杂时往往很难得到理想的效果。niblack算法是一种比较常用的简单有效的局部动态阈值算法,该算法根据局部平均值和局部标准差在图像中变动阈值以达到阈值分割的效果。niblack方法可以克服固定阈值分割的缺陷,重现图像中的细节部分。本文先对niblack算法、平均灰度阈值法、bernsen算法、otsu算法、迭代法进行简介并展示出相应的算法代码。根据几种不同方法对不同性质的图片进行阈值化比较,得出niblack算法各种的优缺点。仿真结果表明,n

4、iblack算法能够很好地还原图像细节,然而却过分夸大了图像的细节,没有注意到图像的整体效果。关键词:niblack,阈值分割,二值化 abstract there is many information obtained in humans, the visual information about 60%, 20% of hearing about the other about 20%. thus, visual information is very important to mankind. meanwhile, the image is to obtain visual infor

5、mation of human primary means of image segmentation is an important image processing techniques. in the image segmentation, the key is threshold selection, in addition to computer speed problems. to solve these problems, this paper, the niblacks method is use for image segmentation.in image segmenta

6、tion, an image using a fixed threshold segmentation, the image detail in the image there are more gray shadow or relatively complex, often difficult to obtain the desired results. niblacks method is a commonly used simple and effective local dynamic threshold algorithm, which according to the local

7、mean and local standard deviation of threshold changes in the image thresholding to achieve results. niblack method can overcome the fixed threshold segmentation of the defects, to reproduce the image in the details section.article focuses on the niblacks method, the average gray level threshold met

8、hod, bernsens method, otsus method, iterative method to profile and demonstrate the algorithm code. several different methods according to the nature of the pictures of different threshold, and obtains all the advantages and disadvantages of niblacks method.simulation results show that, niblacks met

9、hod can restore the image details, but it has exaggerated the details of the image, did not notice the overall effect of the image.keyword: niblack, image segmentation, binarization目录摘 要ivabstractv第一章 绪论11.1 数字图像简介11.2 灰度图像原理21.3 图像分割及发展现状21.4 niblack图像分割应用3第二章 图像二值化研究42.1 灰度图像转换方法42.2 全局阈值法62.3 局部阈

10、值法7第三章 图像二值化方法83.1 niblack方法83.2 平均灰度阈值法103.3 bernsen方法123.4 otsu方法143.5 迭代法17第四章 图像二值化方法实验比较204.1 niblack方法结果分析204.2 平均灰度阈值法结果分析214.3 bernsen方法结果分析224.4 otsu法结果分析224.5 迭代法结果分析234.6 总结24第五章 一种改良型的niblack算法265.1 niblack算法基础分析研究265.2 程序相关算法285.3改良后的niblack方法结果分析31参考文献33致谢34第一章 绪论1.1 数字图像简介图像就是用各种观测系统观

11、测客观世界获得的且可以直接或间接作用与人眼而产生视觉的实体。视觉是人类从大自然中获取信息的最主要的手段。拒统计,在人类获取的信息中,视觉信息约占60%,听觉信息约占20%,其他方式加起来才约占20%。由此可见,视觉信息对人类非常重要。同时,图像又是人类获取视觉信息的主要途径,是人类能体验的最重要、最丰富、信息量最大的信息源。所以,毫无疑问图像在人类感知中扮演着最重要的角色。然而,人类感知只限于电磁波谱的视觉波段,成像机器则可覆盖几乎全部电磁波谱,从伽马射线到无线电波。它们可以对于人类习惯的那些图像源进行加工,这些图像源包括超声波、电子显微镜及计算机产生的图像。因此,数字图像处理设计各种各样的应

12、用领域。2图像分割是输入为图像而输出为从这些图像中提取出来的属性的处理方法的过程。分割将图像细分为构成它的子区域或对象。分割的程度取决于要解决的问题。就是说,在应用中,当感兴趣的对象已经被分离出来时,就停止分割。例如,在电子元件的自动检测方面,我们关注的是分析产品的图像,客观地检测是否存在特定的异常状态。比如,缺失的元件或断裂的连接线路。超过识别这些元件所需的分割是没有意义的。图像分割算法一般是基于亮度值的两个基本特性之一:不连续性和相似性。第一类性质的应用途径是基于亮度的不连续变化分割图像。比如图像的边缘。第二类的主要应用途径是依据事先制定的准则将图像分割为相似的区域。门限处理、区域生长、区

13、域分离和聚合都是这类方法的实例。1.2 灰度图像原理灰度图像是指只含亮度信息,不含色彩信息的图像。将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。彩色图像中的每个像素的颜色有r、g、b三个分量决定,而每个分量有255种值可取,这样一个像素点可以有1600多万的颜色的变化范围。而灰度图像是r、g、b三个分量相同的一种特殊的彩色图像,一个像素点的变化范围为255种,所以在数字图像处理中一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可先求出每个像素点的r、g、b三个分

14、量的平均值,然后将这个平均值赋予给这个像素的三个分量。101.3 图像分割及发展现状在对图像的研究和应用中,人们往往仅对各幅图像中的某些部分感兴趣。这些部分常称为目标或前景(其他部分称为背景),它们一般对应图像中特定的、具有独特性质的区域。为了辨识和分析目标,需要将这些有关区域分离提取出来,在此基础上才有可能对目标进一步利用,如进行特征提取和测量。图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。这里特性可以是灰度、颜色、纹理等,目标可以对应单个区域,也可以对应多个区域。图像分割是由图像处理进到图像分析的关键步骤,也是一种基本的计算机视觉技术。还是因为图像的分割、目标的分离

15、、特征的提取和参数的测量将原始图像转化为更抽象更紧凑的形式,使得更高层的分析和理解成为可能。图像分割多年来一直得到人们的高度重视。至今已提出了上千种各种类型的分割算法,而且近年来每年都有上百篇研究报道发表。我们知道对灰度图像的分割常可基于像素灰度值的两个性质:不连续性和相似性。区域内部的像素一般具有灰度相似性,而在区域之间的边界上一般具有灰度不连续性。所以分割算法可据此分为利用区域间灰度不连续性的基于边界的算法和利用区域内灰度相似性的基于区域的算法。另外根据分割过程中处理策略的不同,分割算法又可分为并行算法和串行算法。在并行算法中,所有判断和决定都可独立地和同时地做出。而在串行算法中,早期处理

16、的结果可被其后的处理过程所改变。一般串行算法所需计算时间常比并行算法要长,但抗噪声能力也常较强,上述 2个准则互不重合 ,所以分割算法可根据这2个准则分成4类:1)pb:并行边界类;2)sb:串行边界类;3)pr:并行 ;4)sr:串行区域类。近年来,人们还提出了一些综合利用以上4类方法基本思想的混合算法,但一般只是将分属4类的算法用不同的形式组合起来。尽管人们在图像分割方面做了许多研究工作,由于尚无通用的分割理论,现已提出的分割算法大都是针对具体问题的,并没有一种适合于所有图像的通用方法。另一方面,给定一个实际图像分析问题要选择合用的分割算法也还没有标准的方法。为此需要对图像分割的评价进行研

17、究。事实上对算法的性能刻画近年来得到了广泛的重视,而分割评价是改进和提高算法的性能,改善分割质量和指导新算法研究的重要手段。31.4 niblack图像分割应用niblack算法是一种比较常用的局部二值化算法,这种算法的基本思想是根据局部平均值和局部标准差在图像中变动阈值,主要用于文档图像的阈值分割。全局阈值法在图像和背景灰度相差较明显时效果比较突出,但是这种方法往往容易忽略细节,当图像中存在较多的阴影或者图像灰度变化比较复杂时往往很难得到理想的效果。而niblack算法则很好地克服了这种缺陷。1第二章 图像二值化研究2.1 灰度图像转换方法灰度图(gay scale image 或是 gra

18、y scale image)又称灰阶图。把白色与黑色之间按对数关系分为若干等级,称为灰度。灰度分为256阶。用灰度表示的图像称作灰度图。除了常见的卫星图像、航空照片外,许多地球物理观测数据也以灰度表示。以位场图像为例,把位场表示为灰度图,需要将位场观测值灰度量化,即将场的变化范围转换成256阶的灰度范围。由于位场的动态变化范围非常大,磁场可达数万个纳特,重力场也可能在数百个重力单位内变化,所以在显示为图像前通常需要对位场观测值进行拉伸或压缩。彩色照片变成黑白照片,其实就是图片中的彩色信息变为灰度信息,是把每一种不同深浅的颜色分别用同等亮度的灰度值来替代。根据国际照明委员会(cie)的规定,rg

19、b混合成白色时的比例是1:1:1。因此,纯灰色(中性灰)的rgb混合比例也是1:1:1,也就是说灰色是rgb值相等的颜色。一种颜色深浅度由他的rgb值决定,rgb值越大,颜色越亮,反之则越暗。例如rgb(80,80,80),r=g=b=80,这时这种颜色的灰度值为gray=80,是一种较暗的灰色。如果rgb值不相等时怎么办呢?这时我们需要根据rgb的值来计算灰度gray的值。10国际电信联盟(international telecommunication union,itu)定义了几个推荐(recommendation)灰度转换标准,最流行的是itu标准(itu/ebu&#

20、160;3213 standard)。它对旧标准中rgb颜色空间中绿色坐标作了变动,但标准白光仍然是d65,坐标为(0.312713,0.329016),这种标准的灰度(y)值算法公式为:精确到小数点后面3位:本文范例中采取itu/ebu 3213 standard标准进行灰度图转换,以下为c#实现灰度图转换的代码:public image huidutu_zhuanhuan(image a) bitmap currentbitmap = new bitmap(a); graphics g = graphics.fromimage(currentbitmap); imageattri

21、butes ia = new imageattributes(); float colormatrix = new float 0.222f, 0.222f, 0.222f, 0, 0, new float 0.707f, 0.707f, 0.707f, 0, 0, new float 0.071f, 0.071f, 0.071f, 0, 0, new float 0, 0, 0, 1, 0, new float 0, 0, 0, 0, 1; colormatrix cm = new colormatrix(colormatrix); ia.setcolormatrix(cm, colorma

22、trixflag.default, coloradjusttype.bitmap); g.drawimage(currentbitmap, new rectangle(0, 0, currentbitmap.width, currentbitmap.height), 0, 0, currentbitmap.width, currentbitmap.height, graphicsunit.pixel, ia); return currentbitmap; 图片一图片二图片三彩色图灰度图2.2 全局阈值法全局阈值法是指在二值化过程中只使用一个全局阈值的方法。它将图像的每个像素的灰度值与进行比较,

23、若大于,则取为前景色(白色);否则,取为背景色。根据文本图像的直方图或灰度空间分布确定一个阈值,以此实现灰度文本图像到二值图像的转化。其中全局阈值法又可分为基于点的阈值法和基于区域的阈值法。阈值分割法的结果很大程度上依赖于对阈值的选择,因此该方法的关键是如何选择合适的阈值。典型的全局阈值方法包括otsu方法、最大熵方法等。全局阈值法算法简单,对于目标和背景明显分离、直方图分布呈双峰的图像效果良好,但对于由于光照不均匀、噪声干扰较大等原因使直方图分布不呈双峰的图像,二值化效果明显变差。为了满足图像处理应用系统自动化及实时性要求,图像二值化的阈值的选择最好由计算机自动来完成。下面列举几个阈值的自动

24、选择算法:(1) 平均灰度值法:以图像中所有像素灰度值的平均值为阈值。(2) otsu法:又称最大类间差法,是基于整幅图像的统计特性,实现阈值的自动选取。其原理是把图像直方图用某一灰度值分割成两类,分别计算这两类的像素点数和灰度平均值,然后计算它们的类间方差。当被分割成的两类类间方差最大时,此灰度值就作为图像二值化处理的阈值。大津法的使用范围比较广,不论图像的直方图有无明显的双峰,都能得到较满意的结果,在很多领域得到了应用和发展。但此方法依然存在一些不足,主要表现在:若目标与背景之间灰度差不明显,可能出现大块黑色区域,甚至丢失整幅图像的信息;仅利用一维灰度直方图分布,没有结合图像的空间相关信息

25、,处理效果不好;当图像中有断裂现象或者背景有一定噪声时,无法得到预期效果。 (3) 边缘算子法:采用laplace算子、robert算子、sober算子等对像素点进行灰度级增强或减弱的变换。对于灰度均匀分布的区域内的像素点,这些算子对其进行灰度减弱;对于在边缘附近的像素点,这些算子对其进行灰度增强。112.3 局部阈值法由当前像素灰度值与该像素周围点局部灰度特征来确定像素的阈值。例如可以将原图像划分为一些不相交的小块,将各块图像的灰度均值作为该部块图像的阈值,在局部上采用上面的整体阈值法。对于目标和背景比较清楚的图像,全局阈值化方法可以取得较好结果。但是如果图像的背景不均匀,或目标灰度变化率比

26、较大,全局方法便不再适用。局部阈值法是用像素灰度值和此像素邻域的局部灰度特性来确定该像素的阈值的。当照明不均匀、有突发噪声,或者背景灰度变化较大时,局部阈值确定技术必须根据像素的坐标位置关系自动确定不同阈值,实施动态的自适应二值化处理。局部阈值选取一般将图像划分为若干子图像,在每个子图像区域上使用整体阈值法,从而可以构成子图像的局部阈值法(根据每个子图像确定相应的阈值,具体的阈值确定方法同全局阈值的确定类似)。用这种方法分割后的图像在不同子图像的边界处有灰度的不连续分布,因此必须采用平滑技术来消除灰度的不连续性。 局部阈值法一般用于识别干扰比较严重、品质较差的图像,相对整体阈值方法有更广泛的应

27、用,但也存在缺点和问题,如实现速度慢、不能保证字符笔画连通性以及容易出现伪影现象(即在背景域受到噪音干扰得到笔画结果)等。比较典型的局部二值化算法有bernsen方法、多阈值的梯度强度法、基于纹理图像的方法、最大方差法等。11第三章 图像二值化方法3.1 niblack方法niblack二值化算法由charl coetzee提出,主要针对全局阈值法在图像和背景灰度相差明显时容易忽略细节的问题进行优化,是一种常用的比较有效的局部阈值算法。这种算法的基本思想是对图像中的每一个点,在它的r×r邻域内,计算邻域里的像素点的均值和方差1,然后用下式计算阈值进行二值化:其中对于像素点坐标,为该点

28、的阈值,为该点的邻域内像素点的像素均值,为该点邻域内的像素标准方差,为修正系数(通常取-0.1)。以下为c#实现niblack方法的相关代码:public image niblack(image a, int b, double c, form1 f) double average=0, threshold, variance=0,n=0; form1 frm = f; bitmap currentbitmap = new bitmap(a); graphics g = graphics.fromimage(currentbitmap); for (int i = 0; i < a.wi

29、dth; i+) for (int j = 0; j < a.height; j+) for (int k = i - (b/2); k <= i + (b/2); k+) if (k > 0 && k < a.width) for (int l = j - (b/2); l <= j + (b/2); l+) if (l > 0 && l < a.height) average += currentbitmap.getpixel(k, l).r; n+; average /= n; n = 0; for (int k

30、= i - (b/2); k <= i + (b/2); k+) if (k > 0 && k < a.width) for (int l = j - (b/2); l <= j + (b/2); l+) if (l > 0 && l < a.height) variance+= (currentbitmap.getpixel(k, l).r - average) * (currentbitmap.getpixel(k, l).r - average); n+; variance /= n; variance =math.sq

31、rt(variance); threshold = average + c * variance; n = 0; variance = 0; average = 0; frm.text = threshold.tostring(); if (currentbitmap.getpixel(i, j).r > threshold) currentbitmap.setpixel(i, j, color.white); else currentbitmap.setpixel(i, j, color.black); gressbar1.value+; frm.button(true);

32、return currentbitmap; 3.2 平均灰度阈值法平均灰度阈值法是图像阈值化方法当中最为简单、运算速度最快的一种方法。该方法是全局阈值法的其中一种,它的思路是计算整张图像的平均灰度,直接把平均灰度作为阈值来对图像进行二值化1,相关公式如下:其中为图像的阈值,为图像中所有像素的灰度和,为图像的长度(以像素为单位),为图像的宽度(以像素为单位),即为图像中的像素数。以下为c#实现平均灰度阈值法的相关代码:public image yuzhihua(image a,form1 frm) bitmap currentbitmap = new bitmap(a); graphics g

33、= graphics.fromimage(currentbitmap); int threshold=0; for (int i = 0; i < a.width; i+) for (int j = 0; j < a.height; j+) threshold += currentbitmap.getpixel(i, j).r; gressbar1.value+; threshold /= a.height * a.width; imageattributes ia = new imageattributes(); ia.setthreshold(threshold)

34、; g.drawimage(currentbitmap, new rectangle(0, 0, currentbitmap.width, currentbitmap.height), 0, 0, currentbitmap.width, currentbitmap.height, graphicsunit.pixel, ia); return currentbitmap; 3.3 bernsen方法bernsen是一种十分经典的局部阈值算法,该算法简单快速,由像素灰度值和像素周围点局部灰度特性来确定二值化阈值,从而克服了非均匀光照条件等情况影响。bernsen方法思路获取某点邻域内灰度最大值

35、和最小值,将其平均值作为该点的阈值进行阈值化。7相关公式如下:其中为该点的阈值,为该点邻域灰度值的最大值,为该点邻域灰度值的最小值。以下为c#实现bernsen法的相关代码:public image bernsen(image a, int b,form1 f) int max = 0, min = 255, threshold; form1 frm=f; bitmap currentbitmap = new bitmap(a); graphics g = graphics.fromimage(currentbitmap); for (int i = 0; i < a.width; i+

36、) for (int j = 0; j < a.height; j+) gressbar1.value+; for (int k = i - b; k < i+ b; k+) if (k > 0 && k < a.width) for (int l = j - b; l < j + b; l+) if (l > 0 && l < a.height) if (currentbitmap.getpixel(k, l).r > max) max = currentbitmap.getpixel(k, l).

37、r; if (currentbitmap.getpixel(k, l).r < min) min = currentbitmap.getpixel(k, l).r; threshold = (max + min) / 2; if (currentbitmap.getpixel(i, j).r > threshold) currentbitmap.setpixel(i, j, color.white); else currentbitmap.setpixel(i, j, color.black); frm.button(true); return currentbitmap; 3.4

38、 otsu方法大津法是日本的大津展之在1980年提出的。该方法的基本思想是:设阈值将图像分割成两组,一组灰度对应目标,另一组灰度对应背景,则这两组灰度值的类内方差最小,两组的类间方差最大。5相关公式如下:我们将遍历最小灰度值到最大灰度值t作为图像的阈值,如果目标点的灰度值小于阈值则归为背景,大于阈值则归为前景。 w0为使用t作为阈值时前景点数比例, u0为使用t作为阈值时前景平均灰度; w1为使用t作为阈值时背景点数比例, u1为使用t作为阈值时背景平均灰度。而式中的u则遵从以下公式:以下为c#实现otsu法的相关代码:public image otsu(image a, form1 f) f

39、orm1 frm = f; bitmap currentbitmap = new bitmap(a); graphics g = graphics.fromimage(currentbitmap); gressbar1.maximum = 256; gressbar1.value = 0; int mbpjhd = 0, bjpjhd = 0, n = 0, threshold=0; float txbl=0,u,gt,maxgt=0; for (int i = 0; i <= 255; i+) for (int j = 0; j < a.width; j+) for (int k = 0; k < a.height; k+) if (currentbitmap.getpixel(j, k).r > i) mbpjhd += currentbitmap.getpixel(j, k).r; n+; else bjpjhd += currentbitmap.getpixel(j, k).r; if (n != 0) mbpjhd /= n; else mbpjhd = 0; if (a.height * a.width - n = 0) bjpjhd = 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论