【图像分割】基于matlab最大类间方差法(otsu)图像分割【含Matlab源码 121期】

举报
海神之光 发表于 2022/05/29 03:51:11 2022/05/29
【摘要】 一、最大类间方差算法简介 最大类间方差算法分割原理 广泛流行的图像分割算法是最大类间方差,又称大津法(OTSU),是日本学者大津展之在1979年提出的。其算法思想是通过最大类间方差准则来选取最优阈值。 ...

一、最大类间方差算法简介

最大类间方差算法分割原理
广泛流行的图像分割算法是最大类间方差,又称大津法(OTSU),是日本学者大津展之在1979年提出的。其算法思想是通过最大类间方差准则来选取最优阈值。
OTSU算法基本原理是:假设图像中有L个灰度等级,其中灰度值为j的数目为nj,则有图像中总的像素公式为:
在这里插入图片描述
每个灰度值概率公式如下:
在这里插入图片描述
假设在(0~L)灰度内存在灰度k将图像分为两类,那么公式如式(3)所示。
在这里插入图片描述
此外两类灰度值均值计算方法分别如式(4)和式(5)所示。
在这里插入图片描述
通过公式可以计算出图像总体灰度均值为wT=pAwA+pBwB,根据方差计算公式可得出式(6)。
δ2=PA(ωA-ωT)2+PB(ωB-ωT)2 (6)
通过OTSU算法的基本原理可以得到OTSU求取图像最佳阈值的公式(7),方差越大,效果越好。
在这里插入图片描述

二、部分源代码

 
clear
close all
clc
 
I=imread('rice.png');    
[m,n]=size(I);   
N=m*n;   
L=256;   
 
for i=1:L  
    count(i)=length(find(I==(i-1)));  
    f(i)=count(i)/(N);  %每个灰度对应的概率,i=1,对应灰度值为0(i-1)
end  
 
for i=1:L   
    if count(i)~=0   
        st=i-1;   %开始的灰度值
        break;   
    end   
end   
for i=L:-1:1   
    if count(i)~=0   
        nd=i-1;   %结束的灰度值
        break;   
    end   
end   
 
p=st;   q=nd-st+1;   
u=0;   
for i=1:q   
    u=u+f(p+i)*(p+i-1);  %u是像素的平均值    
    ua(i)=u;           %ua(i)是前i+p个像素的平均灰度值  (前p个无取值) 
end;   
 
for i=1:q   
    w(i)=sum(f(1+p:i+p));  %w(i)是前i个像素的累加概率,对应公式中P0 
end;   
 
w=w+eps;  
   %对照sigmaB的公式写出目标函数。实际是遍历所有值
d=(w./(1-w)).*(ua./w-u).^2;
[y,tp]=max(d);  %可以取出数组的最大值及取最大值的点   
th=tp+p;  
 
 
figure;imshow(im2bw(I,th/255),[]);  title('最大类间方差');
%% matlab自带函数
figure;imshow(im2bw(I,graythresh(I)),[]);  title('matlab自带');
 

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50

三、运行结果

在这里插入图片描述
在这里插入图片描述

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]陈浩,方勇,朱大洲,王成,陈子龙.基于蚁群算法的玉米植株热红外图像边缘检测[J].农机化研究. 2015,37(06)

文章来源: qq912100926.blog.csdn.net,作者:海神之光,版权归原作者所有,如需转载,请联系作者。

原文链接:qq912100926.blog.csdn.net/article/details/112907935

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。