多种自动阈值分割算法的简单实现--实验报告

上传人:飞*** 文档编号:47842713 上传时间:2018-07-05 格式:PDF 页数:7 大小:326.28KB
返回 下载 相关 举报
多种自动阈值分割算法的简单实现--实验报告_第1页
第1页 / 共7页
多种自动阈值分割算法的简单实现--实验报告_第2页
第2页 / 共7页
多种自动阈值分割算法的简单实现--实验报告_第3页
第3页 / 共7页
多种自动阈值分割算法的简单实现--实验报告_第4页
第4页 / 共7页
多种自动阈值分割算法的简单实现--实验报告_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《多种自动阈值分割算法的简单实现--实验报告》由会员分享,可在线阅读,更多相关《多种自动阈值分割算法的简单实现--实验报告(7页珍藏版)》请在金锄头文库上搜索。

1、多种自动阈值分割算法的简单实现1 引言在计算机视觉理论中, 图像分割、特征提取与目标识别构成了由底层到高层的 3 大任务。特征提取和目标识别都以图像分割作为基础,图像分割结果的好坏将直接影响后续操作。 所谓图像分割, 就是将构成图像的像素划分为目标区域与背景区域的过程。 其目的是把所研究者关注的目标区域从图像中提取出来,以便进一步研究分析。图像分割的算法种类繁多, 一般都是基于亮度值的两个基本特性之一:不连续性和相似性。 前者适用于依据亮度的不连续变化分割图像,后者主要适用于依据事先制定的准则将像素分割为不同的区域。1图像分割领域的经典算法有很多, 如基于阈值分割、边缘分割、基于小波变换的分割

2、方法、 基于数学形态学的分割方法、以遗传算法、 粒子群算法等寻优算法为基础并不断改进的分割算法、主动轮廓模型、 聚类分割、 人工神经网络等算法。本文简单介绍几种自动阈值分割算法。2 算法实现2.1 一维熵阈值法假设一幅图像的大小为MN的图像( ,)f x y (1,1)xMyN, 每个像素点( ,)f ij本身都还有一个灰度级,一维最大熵阈值法的主体思想是:统计出图像中每个灰度等级出现的概率( )p x,计算该灰度等级的信息熵:( )lg( )Hp xp x dx图像分为目标区域和背景区域,假设图像的最大灰度值为L。 目标区域的熵为:0lg()1,2,iiittppHitpp背景区域的熵为:1

3、lg()1,2,11iiittppHittLpp对于每个灰度级 t 求解:01( )W tHH最大阈值向量 t*满足:*( )max( )W tW t2.2 二维熵阈值法2.2.1二维直方图假设一幅图像的大小为MN的图像( ,)f x y (1,1)xMyN, 在每个像素点( , )f i j,计算nm领域的平均灰度值,得到一幅平滑的图像( , )g x y,两者的灰度等级都为0,1,.L。其中n m的领域可由下面模板表征:1,11,1,1,1,1jmii ji mnn jn mddddddDdddL一般取 255,n和m取大于 1 的奇数,它们可以不相等。2在当前相关文献中邻域的选取有多种模

4、板, 多数文献采用 8 领域模板, 也有 4 领域模板。 本文既实现了一种 8 领域模板,又实现了两种4 领域模板,设( , )r i j为图像( ,)f x y中灰度级为i,图像( , )g x y中灰度级别为j的像素对的个数,( , )r i j联合概率可以表示为:( , )( , ), ,0,1,r i jp i ji jLMN以图像中点的灰度值作为X轴,领域中其他像素的平均值作为Y轴, 灰度与平均灰度在整个图像空间中的频数作为Z轴。下图以 Lena 图像(图 1(a) )为例,通过 MATLAB 2010 绘制直方图,如图1(b)所示。图 1(a)图 1(b)从图 1(b)可以很直观发

5、现, 在直方图上几乎所有的值都集中在XOY平面的对角线上。 这一点很容易理解, 因为图像中的目标内部和背景内部的像素之间相关性很强, 像素的灰度值与邻域像素的灰度平均值非常接近,因此会有这样的效果。假设阈值向量( , )t s将二维直方图分成 4 个区域,从图 1(b)形象地看出,对于背景区域或是目标区域,图像中心像素点的值和邻域像素平均值都是相近的。而对于背景区域和目标区域边缘处的像素,应当是有很大差异的。如图2所示,区域 1 和区域 2 代表目标区域或背景区域, 区域 3 和区域 4 代表边缘点及噪声污染。图 2 二维直方图2.2 二维最大熵阈值化信息熵的概念来源于信息论, 是对信源中平均

6、产生一个消息所能消除不确定性的量化描述。给定信源空间1212x()()()nnxxXPP xPxP x,其中 0()1iP x,1()1ni ip x,信源X的信息熵定义为:311()lg()lg()nii iiH XEP xP xP x设在二维直方图中存在4 个类, 如图 2 所示, 区域 1和区域 2所代表的目标和背景的两类概率分别为 : 1 00( , )( , )tsijp t sp i j2 11( , )( , )LLi tjsp t sp i j区域 3 和区域 4 所代表的边缘点即噪声污染的两类概率分别为: 3 01( , )( , )tLij sp t sp i j4 10(

7、 , )( , )Lsitjp t sp i j由于边缘点和噪声点占少数, 在传统的二维与执法中都假设二维直方图中远离对角线的分量近似为零。因此,下面只考虑区域1 和区域 2。根据信息熵的定义,得到区域1 的信息熵为:111 00( ( , ) /( , )lg( , ) /( , )tsijHp i jp t sp i jp t s区域 2 的信息熵为:222 11( ( , )/( , )lg( , )/( , )LLi tj sHp i jp t sp i jp t s总信息熵为:12( , )H t sHH根据最大熵原理,最佳阈值向量满足: *( ,)max( , )H tsH t s

8、相对于一维最大熵图像分割, 二维最大熵阈值分割方法综合利用了图像的中心点和平均灰度值, 使其具有较强的抗干扰能力, 从而使图像分割达到一个更好的效果。2.3 Ostu分割方法Ostu 分割算法又称为最大类间方差法,是目前十分流行的阈值选取的算法。其核心思想是:确定一个最佳的阈值。根据这个阈值,使图像二值化。该最佳阈值在图像二值化后, 使背景和目标区域两个像素类方差最大,从而达到背景和目标分割的效果。假设一幅图像的大小为MN的图像( ,)f x y (1,1)xMyN, 假设阈值为 t(minmax)GrayValuetGrayValue,目标区域像素比例为0w ,目标区域像素的平均灰度为0u

9、,背景区域像素比例为1w ,目标区域像素的平均灰度为1u ,则图像的总平均灰度为:0011*uwuwu目标区域和背景图像的方差为:000111010101*()*()*()*()*()*()gwuuuuwuuuuwwuuuu从图像的最小灰度级min GrayValue开始调整阈值t, 一直遍历到图像的最大灰度级max GrayValue,找到maxg对应的阈值t,就是最佳阈值*t。将小于最佳阈值的像素点设置为黑色,大于等于最佳阈值的像素点设置为白色。Ostu 分割算法,还有二维的Ostu 分割算法,先按照一种kk模板,以一个像素点为中心,求得邻域平均平均像素点, 组成一幅新的图,求联合概率密度

10、ijp,再将图像分成 4 个区域,其求解步骤和二维最大熵算法十分相似,在此不深入讨论。2.4 阈值迭代分割算法迭代法是基于逼近的思想求最佳阈值的算法。假设一幅图像的大小为MN的图像( ,)f x y (1,1)xMyN, 假设阈值为 : (maxmin) / 2TGrayValueGrayValue将T记录在OldT里,然后根据T将图像分割为目标区域和背景区域,分别求出目标区域和背景区域的平均灰度值,1u 和2u 。重新计算12() /2Tuu,判断()if OldTT,如果不相等,那么将T记录在OldT里,重复上面步骤,直到OldTT成立,才终止算法。然后,把最后得到的T最为最佳阈值,对图像

11、进行分割,图像中像素点小于T的部分设置为黑色,其他部分设置为白色。3 实验结果及分析本文所有的实验都是基于PC机上进行的,实验环境为 MATLAB 2010和 Visual Studio 2010 。为了更形象的说明上述各个算法的有效性,根据上面提出的方法对图像进行了仿真实验。本文以 Lena 灰度图像(图1(a) )为例,对论文中给出的算法予以实现。图 3(a) 以一维最大熵算法进行图像分割。图3(b), 图 3(c), 图 3(d)分别采用不同的模板的二维最大熵算法对图像进行分割。图像3(b)采用4 邻域模板0 1 0110 1 0x,图像 3(c)采用 4 领域模板1 01001 01x

12、,图像 3(d)采用 8 领域模板1111 1 1x。图像 3(e)采用一维 ostu 算法实现,图像 3(f )采用迭代法实现。成像分析:一维最大熵算法实现的效果不是很理想,采用 3 种不同模板的二维最大熵算法实现的图像效果区分度不是很明显,相比于Ostu 算法和迭代法,在本例子中二维最大熵算法实现的效果相对较差。算法效率分析:一维最大熵、Ostu 算法和迭代法运行速度快,二维最大熵算法运行速度很慢。 慢的主要原因是, 该算法需要对原图和邻域平均图像对应的像素值的全排列,对两幅图像中的像素值的所有组合出现的次数进行全部统计。因此,十分的耗时。查看相关文献,不乏有通过遗传算法,粒子群算法等的结

13、合达到更好实现的例子。图 3(a)一维最大熵图 3 (b) 二维最大熵1 图 3 (c) 二维最大熵2 图 3 (d) 二维最大熵 3 图 3(e)Ostu 算法图 3(f )迭代法总结:图像分割算法,没有绝对的好与坏。各个算法都有各自的优点,也有各自的局限性。 图像分割是个广阔的领域, 别本文仅仅是对图像自动阈值分割的一个入门级介绍。待深入学习模式识别,智能算法之后,再做深入研究。最后,感谢我的老师,我的朋友在论文写作期间给予的无私帮助。参考文献1 许瑞. 图像分割方法及性能评价综述. 宁波工程学院学报 .2011 年 9 月第 23 卷第 3 期 2 张新明等 . 改进的最大熵阈值分割及其

14、快速实现. 计算机科学 .2011 年 8月第 38 卷第 8期 3唐 新 亭 等 . 图 像 分 割 的 最 大 熵 方 法 的 改 进 . 计 算 机 工 程 与 应用.2012,48(1)-212页附录:% 用 matlab 绘制的 lena 图像的直方图代码 clc clear all % 读取 Lena 图像 A = imread(E:2012国际数模讲义 Lena.bmp,bmp); % 生成图像矩阵 I = double(A); f = I(:,:,1); g = f; / 一维最大熵阈值法 / /处理灰度图的一维熵public void OneDimensionalEntropyFunction() /如果图像为空就返回if (originalBitmap = null) return; 以下代码略。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号