【图像分割】基于粒子群算法优化指数熵、对数熵、TSALLIS熵实现多阈值的图像分割附matlab代码

本文涉及的产品
视觉智能开放平台,视频资源包5000点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
简介: 【图像分割】基于粒子群算法优化指数熵、对数熵、TSALLIS熵实现多阈值的图像分割附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机

⛄ 内容介绍

提出基于粒子群优化的二维Tsallis熵分解算法.首先将二维Tsallis熵算法降维分解为两个一维Tsallis熵,同时在目标函数中引入类内离散测度函数,最终以此目标函数作为后粒子群优化算法的寻优函数,完成图像的全局最优解阈值分割.实验结果表明,相对一维及二维Tsallis熵和指数熵、对数熵、TSALLIS熵算法,算法在主观效果和区域间对比度评价指标上有较大改善,在铁路轨道异物图像的分割中满足实时性要求,抗噪效果更佳.

⛄ 部分代码

clear

clc

tic

I=imread('lena.jpg');

% z=f;

% I=rgb2gray(z);

figure,imshow(I);

counts=imhist(I);

[m,n]=size(I);

N=m*n;

for i=1:256

   p(i)=counts(i)/N;

end

for k1=0:253

   for k2=k1+1:254

       for k3=k2+1:255

           w0=0;

           w1=0;

           w2=0;

           w3=0;

           for i=0:255

               if i<=k1

                   w0=w0+p(i+1);

               elseif i<=k2

                   w1=w1+p(i+1);

               elseif i<=k3

                   w2=w2+p(i+1);

               else

                   w3=w3+p(i+1);

               end

           end

           f1=0;

           f2=0;

           f3=0;

           f4=0;

           if w0*w1*w2*w3>1e-10

               for i=0:k1

                   if p(i+1)>1e-10

                       f1=f1+p(i+1)/w0*log(p(i+1)/w0);

                   end

               end

               for i=k1+1:k2

                   if p(i+1)>1e-10

                       f2=f2+p(i+1)/w1*log(p(i+1)/w1);

                   end

               end

               for i=k2+1:k3

                   if p(i+1)>1e-10

                       f3=f3+p(i+1)/w2*log(p(i+1)/w2);

                   end

               end

               for i=k3+1:255

                   if p(i+1)>1e-10

                       f4=f4+p(i+1)/w3*log(p(i+1)/w3);

                   end

               end

               F(k1+1,k2+1,k3+1)=-(f1+f2+f3+f4);

           else

               F(k1+1,k2+1,k3+1)=0;

           end

       end

   end

end

Fmax=max(F(:));

for i=1:254

   for j=2:255

       for k=3:256

           if F(i,j,k)==Fmax

               k1=i-1

               k2=j-1

               k3=k-1

               continue;

           end

       end

   end

end

toc

z=ones(m,n);

for i=1:m

   for j=1:n

       if I(i,j)<=k1

           z(i,j)=0;

       elseif I(i,j)<=k2

           z(i,j)=0.3;

       elseif I(i,j)<=k3

           z(i,j)=0.6;

       end

   end

end

figure

subplot(1,2,1)

imshow(I)

subplot(1,2,2)

imshow(z)

⛄ 运行结果

image.gif编辑

image.gif编辑

⛄ 参考文献

[1]胥田田, 李积英, 任臻,等. 粒子群优化的改进Tsallis熵图像阈值分割[J]. 科技创新与应用, 2018(12):3.

[2]赵勇, 方宗德, 庞辉,等. 基于量子粒子群优化算法的最小交叉熵多阈值图像分割[J]. 计算机应用研究, 2008, 25(4):3.

❤️ 关注我领取海量matlab电子书和数学建模资料

❤️部分理论引用网络文献,若有侵权联系博主删除

相关文章
|
9天前
|
传感器 算法
基于无线传感器网络的MCKP-MMF算法matlab仿真
MCKP-MMF算法是一种启发式流量估计方法,用于寻找无线传感器网络的局部最优解。它从最小配置开始,逐步优化部分解,调整访问点的状态。算法处理访问点的动态影响半径,根据带宽需求调整,以避免拥塞。在MATLAB 2022a中进行了仿真,显示了访问点半径请求变化和代价函数随时间的演变。算法分两阶段:慢启动阶段识别瓶颈并重设半径,随后进入周期性调整阶段,追求最大最小公平性。
基于无线传感器网络的MCKP-MMF算法matlab仿真
|
2天前
|
算法 网络性能优化 调度
基于De-Jitter Buffer算法的无线网络业务调度matlab仿真,对比RR调度算法
1. **功能描述**: 提出了一个去抖动缓冲区感知调度器,结合用户终端的缓冲状态减少服务中断。该算法通过动态调整数据包发送速率以优化网络延迟和吞吐量。 2. **测试结果**: 使用MATLAB 2022a进行了仿真测试,结果显示De-Jitter Buffer算法在网络拥塞时比RR调度算法更能有效利用资源,减少延迟,并能根据网络状态动态调整发送速率。 3. **核心程序**: MATLAB代码实现了调度逻辑,包括排序、流量更新、超时和中断处理等功能。 仿真结果和算法原理验证了De-Jitter Buffer算法在无线网络调度中的优势。
|
5天前
|
传感器 机器学习/深度学习 算法
基于GA遗传算法的WSN网络节点覆盖优化matlab仿真
本研究应用遗传优化算法于无线传感器网络(WSN),优化节点布局与数量,以最小化节点使用而最大化网络覆盖率。MATLAB2022a环境下,算法通过选择、交叉与变异操作,逐步改进节点配置,最终输出收敛曲线展现覆盖率、节点数及适应度值变化。无线传感器网络覆盖优化问题通过数学建模,结合遗传算法,实现目标区域有效覆盖与网络寿命延长。算法设计中,采用二进制编码表示节点状态,适应度函数考量覆盖率与连通性,通过选择、交叉和变异策略迭代优化,直至满足终止条件。
|
3天前
|
算法
基于COPE协议的网络RLNCBR算法matlab性能仿真
摘要: 本研究聚焦于COPE协议与RLNCBR算法(MATLAB仿真),整合随机线性网络编码与背压路由,优化网络编码技术以增强吞吐量与鲁棒性。实验在MATLAB2022a下执行,展示了平均传输次数随接收节点数(N:2-10)变化趋势(P1=...=Pn=0.08,重传间隔100Δt)。COPE协议利用编码机会提高效率,而RLNCBR算法动态调整路径,减少拥塞,提升成功率。数学模型与仿真实验证实算法有效提升网络性能,降低时延与丢包率。[总计239字符]
|
10天前
|
并行计算 算法 Python
Dantzig-Wolfe分解算法解释与Python代码示例
Dantzig-Wolfe分解算法解释与Python代码示例
|
22小时前
|
算法
基于kalman滤波的UAV三维轨迹跟踪算法matlab仿真
本文介绍了一种使用卡尔曼滤波(Kalman Filter)对无人飞行器(UAV)在三维空间中的运动轨迹进行预测和估计的方法。该方法通过状态预测和观测更新两个关键步骤,实时估计UAV的位置和速度,进而生成三维轨迹。在MATLAB 2022a环境下验证了算法的有效性(参见附图)。核心程序实现了状态估计和误差协方差矩阵的更新,并通过调整参数优化滤波效果。该算法有助于提高轨迹跟踪精度和稳定性,适用于多种应用场景,例如航拍和物流运输等领域。
|
6天前
|
缓存 算法 Java
如何使用代码实现漏桶算法
如何使用代码实现漏桶算法
|
2月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
2月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)

热门文章

最新文章