图像分割基于matlab改进的萤火虫算法优化二维OTSU图像分割含Matlab源码 2304期
Posted 海神之光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像分割基于matlab改进的萤火虫算法优化二维OTSU图像分割含Matlab源码 2304期相关的知识,希望对你有一定的参考价值。
⛄一、基于改进萤火虫算法的二维Otsu图像分割法简介
图像分割是数字图像处理技术中的一种重要方法,它简化了图像并且改变图像的表现形式,从而使图像更容易被理解和分析.图像分割的精确度对后续任务的处理会起到直接的影响,因此对其进行研究具有重要的理论价值和实际意义[1,2].常用的图像分割方法有:基于阈值的分割方法[3]、基于区域的分割方法[4]、基于边缘的分割方法[5]以及基于特定理论的分割方法等.其中,基于阈值的分割方法简单、有效、稳定,是实际应用过程中常用的一种图像分割技术.
为了更好地解决二维Otsu算法和萤火虫算法在图像分割优化中存在的复杂度高、实时性差等问题,本文提出了一种基于萤火虫算法改进的二维Otsu图像阈值分割方法.基本思想是将求解二维Otsu的目标函数问题转化为用萤火虫算法求解最优解问题,得出图像的最佳分割阈值,然后分割图像.实验结果表明,本文提出的算法分割效果理想、程序运行时间短.
1 二维犗狋狊狌阈值分割方法
设有一幅灰度级为L的图像f(x,y),邻域平滑图像g(x,y)的灰度级也为L,g(x,y)中像素的灰度值为3×3邻域内的灰度均值.对于图像中的任意一个像素就可以由像素灰度值i和邻域平均灰度值j构成的二维单元来表示.假设,M为图像的总像素个数,fij为像素的灰度值为i而且邻域的平均灰度值为j的像素点的个数,那么二维单元(i,j)出现的概率为
任意给定一个阈值向量(s,t),将二维直方图分割成如图1 中所示的A,B,C,D四个区域.其中,区域B和C表示图像中的目标类和背景类,区域A和D则对应与图像中的边缘点和噪声.分别用C1和C0来表示二维直方图中的目标类和背景类,其出现的概率分别表示为
图1 二维直方图
目标类C1和背景类C0对应的均值矢量μ1和μ0表示为
综合的灰度均值矢量μt可表示为
图像中边缘点或噪声的概率在多数情况下可以忽略.因此:
类间离散度矩阵表示为
背景类和目标类的距离测度函数可以用离散度矩阵的迹来表示:
当距离测度函数rtr(S)取得最大值时的阈值向量(s,t)即为最佳阈值.
在图像分割过程中,阈值的选取是最关键的环节,对于传统的二维Otsu阈值分割方法来说,在实时处理过程中效果不理想,因此本文引入了萤火虫算法来改进图像分割阈值的寻优过程.
⛄二、部分源代码
image_1=imread(‘ant.jpg’); %读入图片
figure,imshow(image_1);
image_1=rgb2gray(image_1);%灰度化
[m,n]=size(image_1);%计算图片的像素点个数,行列,n是列数,Gray
num=zeros(1,256);%存放各灰度级出现的次数
p=zeros(1,256);%存放各灰度级的比率
image_1=double(image_1);%双精度化
for i=1:m
for j=1:n
num(image_1(i,j)+1)=num(image_1(i,j)+1)+1;%统计各灰度级的像素点个数
end
end
for i=1:256
p(i)=num(i)/(m*n);%计算各灰度级出现的比率
end
for i=2:256
if p(i)~=0
st=i+1;%实现寻找出现比率不为0的最小灰度值
break
end
end
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]周晨航,田力威,赵宏伟.基于改进萤火虫算法的二维Otsu图像分割法[J].沈阳大学学报(自然科学版). 2016,28(01)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
以上是关于图像分割基于matlab改进的萤火虫算法优化二维OTSU图像分割含Matlab源码 2304期的主要内容,如果未能解决你的问题,请参考以下文章
图像分割基于matlab萤火虫算法图像分割含Matlab源码 2136期
图像分割基于matlab萤火虫算法图像分割含Matlab源码 2136期
图像分割基于matlab萤火虫算法图像聚类分割含Matlab源码 2106期
图像分割基于matlab萤火虫算法图像聚类分割含Matlab源码 2106期