您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > otsu算法——图像分割
基于二维直方图双斜率划分的快速Otsu图像分割算法论文绪论算法讲解实验结果参考文献CONTENTS论文绪论PPT模板下载:行业PPT模板:节日PPT模板:素材下载:背景图片:图表下载:优秀PPT下载:教程:教程:教程:资料下载:课件下载:范文下载:试卷下载:教案下载:论坛:图像分割是图像处理的重要步骤,它可以将感兴趣的目标图像区域和背景分割开后做相关的处理,是后续其他处理的前提。本文所述算法是为了克服Otsu算法对图像分割的不足,在二维Otsu的基础上提出了基于二维直方图双斜率划分的快速Otsu分割算法。本文将对一维Otsu算法、二维Otsu算法和本文算法的思想和实现进行的讲解。算法讲解一维Otsu算法二维Otsu算法基于二维直方图双斜率划分的快速Otsu分割算法1.一维Otsu算法简介:一维Otsu算法也叫最大类间方差法,是由日本学者大津(NobuyukiOtsu)于1979年提出的,是一种图像灰度自适应阈值的分割算法,间称OTSU。算法思想:根据图像灰度值的特性,将图像分成背景和前景2个部分。背景和前景之间的类间方差越大,说明构成图像的2部分的差别越大,当部分前景错分背景或者背景错分为前景的时候,会导致2部分的方差变小。因此,类间方差最大意味着错分概率最小。算法过程:(1)对于图像I(x,y),将前景与背景的分割阈值设为T。(2)将属于前景的像素点的个数占整个图像的比例设为w0,其平均灰度设为u0。(3)将属于背景的像素点的个数占整个图像的比例设为w1,其平均灰度设为u1。(4)图像的总平均灰度设为u,类间方差设为S。假设图片的大小为M*N,图像中像素灰度值小于阈值T的像素个数记为N0,像素灰度大于阈值T的像素个数记为N1。则它们之间的关系如下。前景比例:背景比例:像素点总数:前景和背景概率之和:平均灰度值:类间方差:将公式(4)和(5)带入(6)可以得到等价公式:核心代码:Histogram[data[i*srcimage.step+j]]++;//step指向每行的字节总量,date访问每个像素的值for(inti=1;i255;i++)//从1开始遍历,寻找最合适的值{//每次遍历前需要初始化各变量w0=0;u0=0;w1=0;u1=0;for(intj=0;j=i;j++)//背景部分各值计算{w0+=Histogram[j];//背景部分像素点总数u0+=j*Histogram[j];//背景部分像素总灰度和}u0=u0/w0;//背景像素平均灰度w0=w0/number;//背景部分像素点所占比例}doublevarValueI=w1*w2*(u1-u2)*(u1-u2);//类间方差计算2.二维Otsu算法简介:一维Otsu算法有计算简洁、稳定、自适应强等优点,被广泛用于图像分割中。但一维Otsu算法没有考虑图像像素点之间的关系,当图像中有噪声时,会导致分割的效果不理想。因此,刘健庄等人在1993年提出了二维的Otsu算法,提升了算法的抗噪声能力。算法思想:同时考虑像素的灰度值分布和它们邻域像素的平均灰度值分布,因此形成的阈值是一个二维矢量,最佳的阈值在一个二维的测度准则下确定最大值时得到。算法过程:(1)设图像I(x,y),的灰度级为L级,那么图像的邻域平均灰度也分为L级。(2)设f(x,y)为像素点(x,y)的灰度值,g(x,y)为像素点(x,y)为中心的K*K的像素点集合的灰度平均值。令f(x,y)=i,g(x,y)=j,然后就形成了一个二元组(i,j)。(3)设二元组(i,j)出现的次数为fij,然后求出二元组对应的概率密度Pij,Pij=fij/N,i,j=1,2,…,L,其中N为图像像素点总数。(4)任意选取一个阈值向量(s,t)选取的阈值向量将图像的二维直方图划分成4个区域,B、C区域代表图像的前景和背景,A、D区域代表噪声点。图片如下:(5)设C、B两个区域对应的概率分别为w1,w2,对应的均值矢量为u1,u2。整个图片所对应的均值矢量为uT。(6)一般情况下,远离主对角线的点可以忽略(代表边缘点和噪声点),则有:w1+w1≈1,并且uT≈w1*u1+w2*u2,与一维Otsu算法的类间方差相似,这里定义一个类间离散矩阵:(7)为了衡量这个离散矩阵的大小,采用矩阵的迹来代表矩阵的值。(矩阵的迹为主对角线上各元素的和)核心代码:3.基于二维直方图双斜率划分的快速Otsu图像分割算法算法思想:在二维Otsu算法中,发现背景和前景的像素点主要分布在主对角线上,而边界点和噪声点则远离主对角线。其中A,D区域中有靠近主对角线中的部分,B,C中也有远离主对角线部分,这些会对分割的结果产生误差。该算法发现前景与背景像素点的灰度值与其邻域的平均值的商近似1,而边界点和噪声点的商值都远离1,利用1左右的两个斜率t1,t2来对二维直方图重新划分。将二维直方图划分为A、B、C三个区域,B区域为有效阈值的搜索区域。算法过程:(1)设K(x,y)=f(x,y)/g(x,y)为像素点的斜率,其中f(x,y)为点(x,y)的灰度值,g(x,y)为点(x,y)周围点的平均值。(2)设阈值t1,t2将二维直方图分为A、B、C三个区域。其中B区域代表前景和背景像素点部分,而A、C代表边界点和噪声点部分。(3)设w1(t1,t2)、w2(t1,t2)、w3(t1,t2)为3类区域对应的概率,u1(t1,t2)、u2(t1,t2)、u3(t1,t2)为三类区域对应的斜率均值。(4)设ni为斜率K(x,y)=i的像素点的个数,斜率为i的点的概率为pi=ni/N。N为像素点总数。(5)设整个图像的斜率均值为u。(6)三类的类间方差平方和为σ2。当它的值取最大时得到阈值t1,和t2。(7)最后对划分出来的有效区域B进行一维Otsu算法,求出最终阈值。核心代码:实验结果阈值:(84,91)阈值:88一维Otsu算法结果:二维Otsu算法结果:本文算法结果:阈值:130一维Otsu算法结果:阈值:110阈值:96二维Otsu算法结果:本文算法结果:参考文献参考文献[1]袁健,程国涛.基于二维直方图双斜率划分的快速Otsu图像分割算法[J].计算机应用研究,2017,卷缺失(6):1905-1908.[2]刘健庄,栗文青.灰度图象的二维Otsu自动阈值分割法[J].自动化学报,1993,卷缺失(1):101-105.[3]徐长新,彭国华.二维Otsu阈值法的快速算法[J].计算机应用,2012,卷缺失(5):1258-1260.[4]王永波,陈继荣.二维Otsu阈值分割算法的改进及应用[J].计算机仿真,2008,卷缺失(4):263-266.[5]Otsu,N.(1979)Athresholdselectionmethodfromgray-levelhistogram.IEEETransactionsonSystems,ManandCybernetics,9,62-66.感谢聆听
本文标题:otsu算法——图像分割
链接地址:https://www.777doc.com/doc-4909130 .html