- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于MATLAB的图像阈值分割技术
摘要:本文主要针对图像阈值分割做一个基于MATLAB的分析。通过双峰法,迭代法以及OUTS法三种算法来实现图像阈值分割,并且就这三种算法做了一定的分析和比较,在加椒盐的图片上同时进行三种实验,做出比较,最终得出实践结论。
关键词:图像分割 MATLAB 阈值分割 算法
引言:图像分割是图像处理与计算机视觉领域低层次视觉中最为基础和重要的领域之一,它是对图像进行视觉分析和模式识别的基本前提.同时它也是一个经典难题,到目前为止既不存在一种通用的图像分割方法,也不存在一种判断是否分割成功的客观标准,图像阈值分割即是其中的一种方法。 阈值分割技术因其实现简单、计算量小、性能较稳定而成为图像分割中最基本和应用最广泛的分割技术,已被应用于很多的领域,在很多图像处理系统中都是必不可少的一个环节。
1、阈值分割思想和原理
若图像中目标和背景具有不同的灰度集合:目标灰度集合与背景灰度集合,且两个灰度集合可用一个灰度级阈值T进行分割。这样就可以用阈值分割灰度级的方法在图像中分割出目标区域与背景区域,这种方法称为灰度阈值分割方法。
在物体与背景有较强的对比度的图像中,此种方法应用特别有效。比如说物体内部灰度分布均匀一致,背景在另一个灰度级上也分布均匀,这时利用阈值可以将目标与背景分割得很好。如果目标和背景的差别是某些其他特征而不是灰度特征时,那么先将这些特征差别转化为灰度差别,然后再应用阈值分割方法进行处理,这样使用阈值分割技术也可能是有效的
设图像为f(x,y),其灰度集范围是[0,L],在0和L之间选择一个合适的灰度阈值T,则图像分割方法可由下式描述:
这样得到的g(x,y)是一幅二值图像。
(一)原理研究
图像阈值分割的方法有很多,在这里就其中三种方法进行研究,双峰法,迭代法,以及OUTS法。
方法一:双峰法
方法原理:
双峰法是一种简单的阈值分割方法。双峰法先将原图转为灰度图,然后将灰度图转为灰度直方图,灰度直方图就是灰度级的像素数ni与灰度i的二维关系,它反映了一幅图像上灰度分布的统计特性,在MATLAB中使用函数imhist来实现。如果得到的灰度直方图呈现明显的双峰状,则选取双峰之间的谷底所对应的灰度级作为阈值分割。
方法二:迭代法
方法原理:
开始时候选择一个阈值作为初始估计值,然后按着某种策略不断得改进这个估计值,直到满足给定的准则为止。
求出图像最大灰度值Max和最小灰度值Min,初始阈值估计值T0.=(Max+Min)*0.5.
用T0将图像分割为目标和前景。图像分成两组像素:Z1由所有灰度值大于或等于T0的像素组成,而Z0由所有灰度值小于T0的像素组成。
分别求出两者区域中的所有像素计算平均灰度值a1和a2。
计算新的阈值T1=(a1+a2)*0.5.
如果|Ti+1-Ti|0.5,则退出循环,Ti+1即为所求阈值;否则,将Ti+1复制给Ti,重复(2)~(5)。
方法三:OTSU法
方法原理
OTUS又称:最大类间法,该算法是在使类间方差最大的自动确定阈值的方法,是在判决分析最小二乘法原理的基础上推到得出的,其算法比较简单,是一种方便可行的阈值选取方法。
设原始灰度图像灰度级范围为[0,L],灰度级为i的像素点数为ni,则图像的全部像素数为:
把图像中的像素按灰度值用阈值t分成两类C0和C1,由灰度值在[0,t]之间的像素组成,由灰度值在[t+1,L-1]之间的像素组成,对于灰度分布概率,整幅图的均值为
ut
因此,C0和C1的均值为:
其中
上面三式可得
ut= w0u0+ w1u1
类间方差定义为:
让t在[0,L-1]范围一次取值,使类间方差最大的他值即为OUTS法的最佳阈值。MATLAB工具箱提供的graythresh函数求取阈值。
算法:
1、双峰法图像阈值分割matlab code:
I=imread(cat.jpeg);
I=rgb2gray(I);
imhist(I)
直方图:
说明:根据双峰法原理,观察到灰度图像直方图呈现明显的双峰状,则选取双峰之间的谷底所对应的灰度级作为阈值分割。如上图,选取230作为分割点。
I=imread(cat.jpeg);
I=rgb2gray(I);
figure
subplot(1,2,1)
imshow(I);
[width,height]=size(I);
title(原图)
for i=1:width
for j=1:height
if(I(i,j)
您可能关注的文档
最近下载
- 医院信息网络安全培训PPT课件.pptx
- 2025年前列腺科普试题及答案.docx
- 立式叶片排渣过滤机-中国化工设备网.doc
- 20250508 北京大学DeepSeek系列06:DeepSeek私有化部署和一体机.pptx VIP
- 【7上英YL】芜湖市2024-2025学年七年级上学期期中考试英语试卷.pdf VIP
- 屋面瓦及檩条拆除安全方案.doc
- Schneider Electric施耐德Easy Altivar ATV610 变频器编程手册(中文).pdf VIP
- NB∕T34024-2024生物质成型燃料质量要求及分级.docx VIP
- STM32F1开发标准教程-教学大纲、授课计划.docx
- 新语境幼儿园教师专业能力等级与评定.pdf VIP
文档评论(0)