智能优化算法应用:基于GWO优化的最大熵图像多阈值分割 - 附代码

文章目录

  • 智能优化算法应用:基于GWO优化的最大熵图像多阈值分割 - 附代码
    • 1.前言
    • 2.最大熵阈值分割原理
    • 3.基于灰狼优化(GWO)的多阈值分割
    • 4.算法结果:
    • 5.参考文献:
    • 6.Matlab 代码

摘要:本文介绍基于最大熵的图像分割,并且应用灰狼算法进行阈值寻优。

1.前言

阅读此文章前,请阅读《图像分割:直方图区域划分及信息统计介绍》https://blog.csdn.net/u011835903/article/details/108024753 了解基础知识,相关公式含义。

2.最大熵阈值分割原理

Kapur等人于1985年提出的最大熵法是另一种广受关注的阈值选取方法 ,其是在Pun等人所做工作的启发下,经过一些修正而得出。该方法以形式简单、意义明确的特点成为关注度最高、使用最多的基于熵的阈值选取方法。最大熵法的阈值选取准则是分割后的目标类和背景类的总熵值最大,即信息量最大。在一维直方图的条件下,对应于阈值 t的目标类和背景类的熵值分别为:
H0(t)=−∑i=0tpiw0(t)lnpiw0(t)(1)H_{0}(t)=-\sum_{i=0}^t \frac{p_i}{w_0(t)}ln\frac{p_i}{w_0(t)}\tag{1} H0​(t)=−i=0∑t​w0​(t)pi​​lnw0​(t)pi​​(1)

Hb(t)=−∑i=t+1L−1piwb(t)lnpiwb(t)(2)H_b(t)=-\sum_{i=t+1}^{L-1}\frac{p_i}{w_b(t)}ln\frac{p_i}{w_b(t)}\tag{2} Hb​(t)=−i=t+1∑L−1​wb​(t)pi​​lnwb​(t)pi​​(2)

最佳阈值选取准则为:
t∗=argmax(0≤t≤L−1){H0(t)+Hb(t)}(3)t^*=argmax_{(0\leq t\leq L-1)}\{H_0(t)+H_b(t)\}\tag{3} t∗=argmax(0≤t≤L−1)​{H0​(t)+Hb​(t)}(3)
推广到多阈值则为,寻找一组阈值(t0,...,tn)(t_0,...,t_n)(t0​,...,tn​)使得熵值最大
t(1,..,n)∗=argmax{H0+H1+,...+Hn}(4)t(1,..,n)^*=argmax\{H_0+H_1+,...+H_n\}\tag{4} t(1,..,n)∗=argmax{H0​+H1​+,...+Hn​}(4)

3.基于灰狼优化(GWO)的多阈值分割

由上述最大熵阈值分割法的原理可知,要得到最终的阈值,需要去寻找阈值,熵值最大。于是可以利用智能优化算法进行阈值的寻优,使得获得最佳阈值。

于是优化的适应度函数就是:
fun{t(1,..,n)∗}=argmax{H0+H1+,...+Hn}(5)fun\{t(1,..,n)^*\}=argmax\{H_0+H_1+,...+H_n\}\tag{5} fun{t(1,..,n)∗}=argmax{H0​+H1​+,...+Hn​}(5)
设置阈值分割的个数,寻优边界为0到255(因为图像的像素值范围为0-255),设置相应的灰狼算法参数(灰狼算法具体原理及代码参照我之前写灰狼算法原理:https://blog.csdn.net/u011835903/article/details/107716390)。

4.算法结果:

以lena图像为例:

单阈值结果:


3阈值结果:


4阈值结果:

5.参考文献:

[1]吴一全,孟天亮,吴诗婳.图像阈值分割方法研究进展20年(1994—2014)[J].数据采集与处理,2015,30(01):1-23.

6.Matlab 代码

基于灰狼算法优化的最大熵图像多阈值分割
粒子群优化的最大熵多阈值分割
遗传算法优化的最大熵多阈值分割
萤火虫优化的最大熵多阈值分割
基于差分进化优化的最大熵多阈值分割
基于海鸥优化的最大熵多阈值分割
基于花授粉优化的最大熵多阈值分割
基于蝗虫优化的最大熵多阈值分割
基于鸡群优化的最大熵多阈值分割
基于鲸鱼优化的最大熵多阈值分割
基于麻雀算法优化的最大熵多阈值分割
基于鸟群算法优化的最大熵多阈值分割
基于人工蜂群算法优化的最大熵多阈值分割
基于头脑风暴算法优化的最大熵多阈值分割

个人资料介绍

智能算法应用:基于灰狼优化的最大熵图像多阈值分割 - 附代码相关推荐

  1. 基于灰狼优化的BP神经网络(分类应用) - 附代码

    基于灰狼优化的BP神经网络(分类应用) - 附代码 文章目录 基于灰狼优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.灰狼优化BP神经网络 3.1 BP神经 ...

  2. 路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码

    路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码 文章目录 路径规划算法:基于灰狼优化(GWO)的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函 ...

  3. 基于果蝇优化的BP神经网络(分类应用) - 附代码

    基于果蝇优化的BP神经网络(分类应用) - 附代码 文章目录 基于果蝇优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.果蝇优化BP神经网络 3.1 BP神经 ...

  4. 基于布谷鸟优化的BP神经网络(分类应用) - 附代码

    基于布谷鸟优化的BP神经网络(分类应用) - 附代码 文章目录 基于布谷鸟优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.布谷鸟优化BP神经网络 3.1 B ...

  5. 基于鸟群优化的BP神经网络(分类应用) - 附代码

    基于鸟群优化的BP神经网络(分类应用) - 附代码 文章目录 基于鸟群优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.鸟群优化BP神经网络 3.1 BP神经 ...

  6. 基于蜣螂优化的BP神经网络(分类应用) - 附代码

    基于蜣螂优化的BP神经网络(分类应用) - 附代码 文章目录 基于蜣螂优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.蜣螂优化BP神经网络 3.1 BP神经 ...

  7. 基于萤火虫优化的BP神经网络(分类应用) - 附代码

    基于萤火虫优化的BP神经网络(分类应用) - 附代码 文章目录 基于萤火虫优化的BP神经网络(分类应用) - 附代码 1.鸢尾花iris数据介绍 2.数据集整理 3.萤火虫优化BP神经网络 3.1 B ...

  8. 灰狼算法 c语言 代码,基于灰狼优化的模糊C—均值聚类算法

    谢亮亮+刘建生+朱凡 摘要:针对模糊C-均值聚类算法(FCM)存在易受初始聚类中心影响和容易陷入局部最优的问题,提出了一种将灰狼优化算法(GWO)和模糊C-均值相结合的新聚类算法(GWO-FCM).该 ...

  9. 基于灰狼算法优化概率神经网络PNN的分类预测-附代码

    基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于灰狼算法优化概率神经网络PNN的分类预测 - 附代码 1.PNN网络概述 2.变压器故障诊街系统相关背景 2.1 模型建立 3. ...

  10. 【优化算法】简述灰狼优化算法(GWO)原理

    [优化算法]简述遗传算法(GA)原理 [优化算法]简述灰狼优化算法(GWO)原理 前言: 灰狼优化算法(Grey Wolf Optimizer,GWO)由澳大利亚格里菲斯大学学者 Mirjalili ...

最新文章

  1. SQL Server 连接字符串和身份验证 学习
  2. linux docker搭建 minecraft 我的世界游戏服务器
  3. leetcode470 Java_Java实现 LeetCode 794 有效的井字游戏 (暴力分析)
  4. SAP Spartacus的一个问题 - CheckoutStepsSetGuard无法import
  5. 修饰符.lazy .number .trim
  6. Twisted中的putChild和getChild
  7. 信息学奥赛一本通 1331:【例1-2】后缀表达式的值
  8. Python 代码风格指南谷歌版
  9. Web前端初学者,需用了解的7大HTML知识点
  10. python文本文档_Python3 File
  11. python可以做什么-Python简直就是万能的,你用Python都做过哪些事?
  12. 创建maven工程时总是带有后缀名Maven Webapp解决办法
  13. jmeter json提取器和正则表达式提取器
  14. C++编写COM组件 ATL工程
  15. weka mac安装
  16. 招银网络科技校园招聘面试2020.10
  17. 讲解如何在HTML中添加背景图片?
  18. BEV和Pseudo-Lidar
  19. volatility常用的命令
  20. 小丁带你走进git的世界二-工作区暂存区分支

热门文章

  1. sqlserver安装介质上文件的长路径名称失败_SQL Server 2012 软件安装教程
  2. redis中集群的故障恢复
  3. core部署iis的 调试net_ASP.NET Core环境变量和启动设置的配置教程
  4. 博士后斯坦福大学计算机学院,美国斯坦福大学博士后职位
  5. 21. Django进阶:内建用户系统
  6. java包含某个字符串_JavaScript判断一个字符串是否包含指定子字符串的方法
  7. redis做几十万待办列表_用待办规划我的一天 | 指南 x 待办清单
  8. Maven插件介绍:spring-boot-maven-plugin
  9. PCL visualizer
  10. 论文阅读-语义分割(2021)-BiSeNetV3:重新思考用于实时语义分割的BiSeNet模型