当前位置: 首页 > article >正文

【算法应用】基于鲸鱼优化算法求解OTSU多阈值图像分割问题

目录

    • 1.鲸鱼优化算法WOA 原理
    • 2.OTSU多阈值图像分割模型
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取


1.鲸鱼优化算法WOA 原理

SCI二区|鲸鱼优化算法(WOA)原理及实现

2.OTSU多阈值图像分割模型

Otsu 算法(最大类间方差法)设灰度图像有 L L L 个灰度级,各灰度级对应像素点个数为 n i n_i ni,总的像素点个数为 N N N,则灰度值为 i i i 的像素点的概率如下公式所示:

p i = n i N p_i = \frac{n_i}{N} pi=Nni

设灰度级 K K K 把像素点分为前景像素点和背景像素点两类,则两类像素点灰度值概率及两类像素点的平均灰度值分别由下面式子给出:
ω 0 = ∑ i = 0 K p i ω 1 = ∑ i = K + 1 L − 1 p i = 1 − ω 0 u 0 = ∑ i = 0 K i p i ω 0 u 1 = ∑ i = K + 1 L − 1 i p i ω 1 \omega_0 = \sum_{i=0}^{K} p_i\\ \omega_1 = \sum_{i=K+1}^{L-1} p_i = 1 - \omega_0\\ u_0 = \frac{\sum_{i=0}^{K} ip_i}{\omega_0}\\ u_1 = \frac{\sum_{i=K+1}^{L-1} ip_i}{\omega_1} ω0=i=0Kpiω1=i=K+1L1pi=1ω0u0=ω0i=0Kipiu1=ω1i=K+1L1ipi
整个图像像素点的平均灰度值为:
u = ∑ i = 0 L − 1 i p i = ω 0 u 0 + ω 1 u 1 u = \sum_{i=0}^{L-1} ip_i = \omega_0 u_0 + \omega_1 u_1 u=i=0L1ipi=ω0u0+ω1u1

则类间方差为:

σ = ω 0 ( u 0 − u ) 2 + ω 1 ( u 1 − u ) 2 = ω 0 ω 1 ( u 1 − u 0 ) 2 \sigma = \omega_0 (u_0 - u)^2 + \omega_1 (u_1 - u)^2 = \omega_0 \omega_1 (u_1 - u_0)^2 σ=ω0(u0u)2+ω1(u1u)2=ω0ω1(u1u0)2

由灰度值 K K K 扩展到多阈值时,使用一组给定的阈值 [ t 1 , t 2 , ⋯   , t n ] [t_1, t_2, \cdots, t_n] [t1,t2,,tn] ( 0 ≤ t 1 ≤ t 2 ≤ ⋯ ≤ t n ) (0 \leq t_1 \leq t_2 \leq \cdots \leq t_n) (0t1t2tn),将图像分割为 n + 1 n+1 n+1 个区域,每一区域的灰度均值和对应的概率值可表示为:
u 0 = ∑ i = 0 t 1 i p i ω 0 , ω 0 = ∑ i = 0 t 1 p i u 1 = ∑ i = t 1 + 1 t 2 i p i ω 1 , ω 1 = ∑ i = t 1 + 1 t 2 p i . . . u n = ∑ i = t n + 1 L − 1 i p i ω n , ω n = ∑ i = t n + 1 L − 1 p i u_0 = \frac{\sum_{i=0}^{t_1} i p_i}{\omega_0}, \quad \omega_0 = \sum_{i=0}^{t_1} p_i\\ u_1 = \frac{\sum_{i=t_1+1}^{t_2} i p_i}{\omega_1}, \quad \omega_1 = \sum_{i=t_1+1}^{t_2} p_i\\ ... \\u_n = \frac{\sum_{i=t_n+1}^{L-1} i p_i}{\omega_n}, \quad \omega_n = \sum_{i=t_n+1}^{L-1} p_i u0=ω0i=0t1ipi,ω0=i=0t1piu1=ω1i=t1+1t2ipi,ω1=i=t1+1t2pi...un=ωni=tn+1L1ipi,ωn=i=tn+1L1pi

整个图像像素点的平均灰度值为:
u = ∑ i = 0 L − 1 i p i u = \sum_{i=0}^{L-1} i p_i u=i=0L1ipi

此时,图像的类间方差可表示为: σ = ω 0 ( u 0 − u ) 2 + ω 1 ( u 1 − u ) 2 + ⋯ + ω n ( u n − u ) 2 \sigma = \omega_0 (u_0 - u)^2 + \omega_1 (u_1 - u)^2 + \cdots + \omega_n (u_n - u)^2 σ=ω0(u0u)2+ω1(u1u)2++ωn(unu)2
使上述最大值的一组阈值即为所求的阈值。

3.结果展示

在这里插入图片描述

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

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

4.参考文献

[1] Ma G, Yue X. An improved whale optimization algorithm based on multilevel threshold image segmentation using the Otsu method[J]. Engineering Applications of Artificial Intelligence, 2022, 113: 104960.

5.代码获取


http://www.kler.cn/a/527212.html

相关文章:

  • Spring RESTful API 设计与实现
  • 1.27刷题记录
  • 集合的奇妙世界:Python集合的经典、避坑与实战
  • RK3568中使用QT opencv(显示基础图像)
  • Spring Boot 日志:项目的“行车记录仪”
  • 12.udp
  • python 之 zip 和 * 解包操作
  • 微店的Flutter混合开发组件化与工程化架构
  • SQL NOW() 函数详解
  • Day52:range()函数
  • 精准化糖尿病知识问答(LLM+机器学习预测模型)
  • ELK模块封装starter
  • 数据结构初探: 顺序表
  • Mysql的主从复制及扩展功能
  • 代发考试战报:1月22号 1月23号 CCDE考试通过
  • 深入解析JUnit中的@ClassRule注解
  • 代码随想录算法训练营第十五天| 二叉树3
  • Python-操作列表
  • 38【2进制与ascall码】
  • 今日头条公域流量引流新径:开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序融合之道
  • 【C++语言】卡码网语言基础课系列----2. A+B问题II
  • 【漫话机器学习系列】072.异常处理(Handling Outliers)
  • 算法题(53):对称二叉树
  • 基于PLC的变频调速系统设计
  • 鸿蒙HarmonyOS实战-ArkUI动画(页面转场动画)_鸿蒙arkui tab 切换动画
  • K8S学习笔记