图像OTSU阈值分割的程序设计

上传人:cn****1 文档编号:486880304 上传时间:2022-11-30 格式:DOC 页数:14 大小:281.50KB
返回 下载 相关 举报
图像OTSU阈值分割的程序设计_第1页
第1页 / 共14页
图像OTSU阈值分割的程序设计_第2页
第2页 / 共14页
图像OTSU阈值分割的程序设计_第3页
第3页 / 共14页
图像OTSU阈值分割的程序设计_第4页
第4页 / 共14页
图像OTSU阈值分割的程序设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《图像OTSU阈值分割的程序设计》由会员分享,可在线阅读,更多相关《图像OTSU阈值分割的程序设计(14页珍藏版)》请在金锄头文库上搜索。

1、 目 录摘要I1 原理与实现11.1图像分割11.2 阈值分割11.3 OTSU算法21.4 迭代法32 程序设计42.1 主程序42.2 OTSU52.3 全局阈值62.4 迭代法63结果与分析84 心得体会10参考文献11专业综合课程设计任务书学生某:专业班级:指导教师:工作单位: 题 目:图像OTSU阈值分割的程序设计初始条件:(1) 提供实验室机房及其matlab软件;(2) 提供一X灰度图片;(3) 数字图像处理的基本理论学习。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):(1)掌握数字图像分割的基本原理;(2)熟悉掌握matlab软件,并利用ma

2、tlab设计一程序完成以下功能;(3)根据OTSU(最大类间方差法)原理,设计求取阈值的程序(不能使用Matlab的库函数),并与用Matlab的库函数求得的阈值进行比较;(4)用求得的阈值对一灰度图片进行分割,并对结果进行分析;(5)要求阅读相关参考文献不少于5篇;(6)根据课程设计有关规X,按时、独立完成课程设计说明书。时间安排: (1) 布置课程设计任务,查阅资料,确定方案 四天; (2) 进行编程设计 一周; (3) 完成课程设计报告书 三天;指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日 / 摘 要数字图像处理的目的之一是图像识别, 而图像分割是图像识别工作的基础。

3、图像分割的算法有阈值分割法,边缘检测法,区域分割等,本设计重点介绍了阈值分割法中的最大类间方差法(OTSU)的原理,matlab的实现代码与运行结果,并与matlab自带的库函数运行结果进行比较,还扩展了迭代法分割,手动输入一个阈值进行分割。本程序中很多地方都有输入输出提示,有一定的人机交互。关键词:OTSU;图像分割;matlab;1 原理与实现1.1图像分割 数字图像处理的目的之一是图像识别, 而图像分割是图像识别工作的基础。图像分割是将图像分成一些有意义的区域, 然后对这些区域进行描述, 相当于提取出某些目标区域图像的特征, 判断图像中是否有感兴趣的目标。图像分割的基础是像素间的相似性和

4、跳变性。所谓“相似性”是指在某个区域内像素具有某种相似的特性, 如灰度一样, 纹理相同;所谓“跳变性”是指特性不连续, 如灰度值突变等。从总体上说, 图像分割就是把图像分成若干有意义的区域的处理技术。这些区域互不交叠, 每一个区域内部的某种特性或特征相同或接近, 而不同区域间的图像特征则有明显差别, 即同一区域内部特性变化平缓, 相对一致, 而区域边界处则特性变化比较剧烈。区域内是一个所有像素都有相邻或相接触像素的集合, 是像素的连通集。在一个连通集中任意两个像素之间, 都存在一条完全由这个集合的元素构成的连通路径。连通路径是一条可在相邻像素间移动的路径。所以, 在一个连通集中,你可以跟踪在任

5、意两个像素间的连通路径而不离开这个集合。 图像分割的方法有多种, 依据工作对象来分, 可分为点相关分割和区域相关分割; 按算法分类, 可分为阈值法、界限检测法、匹配法、跟踪法等。近年来出现了一些新的算法和设想。如先使用经典的边缘检测算子对图像做初步的边缘检测, 然后再利用边缘之间空间结构关系来协调, 增强初始检测结果。1.2 阈值分割 阈值处理是一种区域分割技术, 将灰度根据主观愿望分成两个或多个等间隔或不等间隔灰度区间, 它主要是利用图像中要提取的目标物体和背景在灰度上的差异, 选择一个合适的阈值, 通过判断图像中的每一个像素点的特征属性是否满足阈值的要求来确定图像中该像素点属于目标区还是应

6、该属于背景区域, 从而产生二值图像, 它对物体与背景有较强对比景物的分割特别有用。它计算简单, 而且总能用封闭而且连通的边界定义不交叠的区域。 在使用阈值法进行分割技术时, 阈值的选取成为能否正确分割的关键, 若将所有灰度值大于或等于某阈值的像素都被判属于物体, 则将所有灰度值小于该阈值的像素被排除在物体之外, 如果阈值选取得过高, 则过多的目标区域将被划分为背景, 相反如果阈值选取得过低, 则过多的背景将被划分到目标区。因此, 边界就由这样一些内部点的集合组成, 这些点都至少有一个邻点不属于该物体。 由于物体和背景以及不同物体之间的灰度级有明显的差别, 因此, 在图像的灰度级直方图中会呈现明

7、显的峰值。当图像灰度直方图峰型分布明显时, 常以谷底作为门限候选值。所以只要适当地选择阈值, 即可对图像进行分割, 因而成为一种简单而广泛应 用的方法。 1.3 OTSU算法OTSU算法,又称最大类间方差法,是由日本学者大津(NobuyukiOtsu)于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU。它是按图像的灰度特性,将图像分成背景和目标2部分。背景和目标之间的类间方差越大,说明构成图像的2部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致2部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。 设X是一幅具有L级灰度级的图像,其中第i级像素为

8、个,其中i的值在0L-1之间,图像的总像素点个数为: (1) 第i级出现的概率为: (2) 在OTSU算法中,以阈值k将所有的像素分为目标和背景两类。其中,类的像素灰度级为0k-1,类的像素灰度级为kL-1。图像的总平均灰度级为: (3)类像素所占的总面积的比例为: (4)类像素所占的总面积的比例为: (5)类像素的平均灰度级为: (6)类像素的平均灰度级为: (7)其中, (8) (9)最大类间方差的公式为: (10)令k从0L-1变化,计算在不同k值下的类间方差,使得最大值时的那个k值就是所要求的最优阈值。1.4 迭代法迭代法的原理是:图像中前景与背景之间的灰度分布为相互不均衡,在这个前提

9、下,实现对两类对象的阈值分割。其算法步骤如下:(1) 设定参数,选择一个T的初始阈值估计值。(2) 用分割图像。将图像分成两组像素:由所有灰度值大于的像素组成,而的所有灰度值小于或等于的像素组成。(3) 对区域和中的所有像素计算平均灰度值和。(4) 计算新的阈值:=(+)/2.(5) 如果,则推出,即所求的全局阈值;否则,将赋给,重复步骤(2)(5)。2 程序设计 程序除了有题目中要求的自编程序实现最大类间方差法外,还扩展了手动输入阈值进行分割和迭代法阈值分割,功能较多,为了使程序有良好的人机界面,主程序中提供了简单的菜单界面。同时为了增加程序的可读性,分模块编写,然后在主函数中调用。2.1

10、主程序function main %主程序clear;close all; %清除变量,关闭所有窗口name path=uigetfile(*.jpg);%获取图片路径及文件名I=imread(path name);%读图I=rgb2gray(I);%彩色转黑白while 1 %循环执行disp(0 原图 1 OTSU 2 全局阈值 3 迭代法 4 退出);%提示信息 select=input(请选择:); %选择相应功能switch selectcase 0 yuantu(I); %输入0 显示原图case 1 %输入1 OTSU法 fun1(I);case 2 %输入2 全局阈值法 fun

11、2(I);case 3 fun3(I) %输入3 迭代法case 4return; %输入4 退出otherwise %其他值不处理endend2.2 OTSUfunction fun1(I) %阈值计算程序Ni=imhist(I);%计算直方图数组N=sum(Ni); %总像素点个数delamax=0; %类间方差最大值threshold=0; %阈值for k=2:255 u=dot(0:255,Ni/N); %图像的总平均灰度级 w0=sum(Ni(1:k)/N); %C0类像素所占面积的比例 w1=1-w0; %C1类像素所占面积的比例if w0=0|w0=1 %当w0为1或0时提前结

12、束本次循环continueend u0=dot(0:k-1,Ni(1:k)/N)/w0; %C0类像素的平均灰度 u1=dot(k:255,Ni(k+1:256)/N)/w1; %C1类像素的平均灰度 dela(k)=w0*(u-u0)2+w1*(u-u1)2; %类间方差公式%求出类间方差的最大值,最大时的那个值对应的k值存入delamaxif dela(k)delamax delamax=dela(k); threshold=k-1;endendBW1=im2bw(I,threshold/255); %阈值分割figureimshow(BW1),title(自编程序运行结果)%显示图片disp(自编程序求的的阈值:)%显示提示信息disp(threshold) %显示结果%调用系统函数OTSU阈值分割level=graythresh(I);%调用系统函数计算阈值BW2=im2bw(I,level); %阈值分割figureimshow(BW2),title(调用库函数运行结果)

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

当前位置:首页 > 建筑/环境 > 施工组织

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