图像分割方法主要分为哪几类,图像分割是由什么到什么的关键步骤
【图像分割-阈值分割】基于灰狼算法灰度熵多阈值图像分割附矩阵实验室代码_MATLAB仿真博客的技术博客_博客
一内容介绍阈值分割方法的关键在于阈值选取。阈值决定了图像分割结果的好与坏,随着阈值数量的增加,图像分割的计算过程越来越复杂。为了选取适当的阈值进行图像分割,文中提出了离散灰狼算法(离散灰狼优化器,DGWO),即经过离散化处理的灰狼算法,并用该算法求解以卡普木分割函数为目标函数的全局优化问题106 . DGWO算法具有很好的全局收敛性与计算鲁棒性,能够避免陷入局部最优,尤其适合高维,多峰的复杂函数问题的求解,并且可以很好地融合到图像分割过程当中。大量的理论分析和仿真实验的结果表明,与遗传算法(GA),粒子群算法(PSO)的图像分割结果相比,在选取多张分割图像,多个分割阈值的情况下,该算法具有更好的分割效果,更高的分割效率,优化得到的阈值范围更加稳定,分割质量更高。
2部分代码%___________________________________________________________________%
%灰狼优化器(GWO)源代码版本1.0 %
% %
在MATLAB R2011b中开发的百分比(7.13%)
% %
%作者和程序员:Seyedali Mirjalili %
% %
%电子邮件:ali.mirjalili@gmail.com %
% seyedali。mirjalili @ griffithuni。edu。au %
% %
%主页:http://www.alimirjalili.com %
% %
%主要论文:s .米尔贾利利、S. M .米尔贾利利、a .刘易斯%
%灰狼优化器,工程进展%
%软件,印刷中,%
% DOI: 10.1016/j.advengsoft
% %
%___________________________________________________________________%
%灰狼优化器
函数[Alpha_score,Alpha_pos,Convergence _ curve]=GWO(搜索代理_ no,Max_iter,lb,ub,dim,fobj)
%初始化阿尔法、贝塔和德尔塔位置
Alpha_pos=zeros(1,dim);
Alpha _ score=inf%对于最大化问题,请将其更改为-inf
Beta_pos=zeros(1,dim);
Beta _ score=inf%对于最大化问题,请将其更改为-inf
Delta_pos=zeros(1,dim);
Delta _ score=inf%对于最大化问题,请将其更改为-inf
%初始化搜索代理的位置
位置=初始化(SearchAgents_no,dim,ub,lb);
Convergence_curve=zeros(1,Max _ ITER);
l=0;%循环计数器
%主循环
而最大长度
对于i=1:大小(位置,1)
%返回超出搜索空间边界的搜索代理
Flag4ub=位置(I,)
Flag4lb=位置(我,)
位置(I,)=(位置(I,).*(~(Flag4ub Flag4lb))) ub .*Flag4ub磅. Flag4lb
%计算每个搜索代理的目标函数
fitness=fobj(Positions(i,);
%更新阿尔法、贝塔和三角洲
如果健身阿尔法_分数
Alpha _ score=健身;%更新希腊字母的第一个字母
Alpha _ pos=位置(I,);
目标
如果健身阿尔法_分数健身贝塔_分数
Beta _ score=健身;%更新测试版
Beta _ pos=位置(I,);
目标
如果健身阿尔法_得分健身贝塔_得分健身德尔塔_得分
Delta _ score=健身;%更新增量
Delta _ pos=位置(I,);
目标
目标
a=2-l *(2)/Max _ ITER);% a从2到0线性减少
%更新搜索代理的位置,包括脂肪酸
对于i=1:大小(位置,1)
对于j=1:大小(位置,2)
R1=兰特();% r1是[0,1]中的随机数
R2=兰特();% r2是[0,1]中的随机数
a1=2 * a * R1-a;%方程式(3.3)
C1=2 * R2;%方程式(3.4)
d _ Alpha=ABS(C1 * Alpha _ pos(j)-位置(I,j));%方程式(3.5)-第一部分
x1=Alpha _ pos(j)-A1 * D _ Alpha;%方程式(3.6)-第一部分
R1=兰特();
R2=兰特();
a2=2 * a * R1-a;%方程式(3.3)
C2=2 * R2;%方程式(3.4)
d _ Beta=ABS(C2 * Beta _ pos(j)-位置(I,j));%方程式(3.5)-第二部分
X2=Beta _ pos(j)-A2 * D _ Beta;%方程式(3.6)-第二部分
R1=rand();
R2=rand();
a3=2 * a * R1-a;%方程式(3.3)
C3=2 * R2;%方程式(3.4)
d _ Delta=ABS(C3 * Delta _ pos(j)-位置(I,j));%方程式(3.5)-第三部分
X3=Delta _ pos(j)-A3 * D _ Delta;%方程式(3.5)-第三部分
位置(I,j)=(X1 X2 X3)/3;%方程式(3.7)
目标
目标
l=l 1;
convergence _ curve(l)=Alpha _ score;
目标
3运行结果
4参考文献[1]吴贻全,宋玉,周怀春。基于灰度熵多阈值分割和SVM的火焰图像状态识别[J].CSEE会议录,2013,33(20):8。
[2],徐斌,李,等.基于离散灰狼算法的多级阈值图像分割[J].计算机技术与发展,2016,26(7):6。
有些理论引用自网络文献。如有侵权,联系博主删除。
原创作品来自matlab研究助手,
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。