MATLAB环境下基于熵的声纳图像分割算法

声纳图像作为准确获取水下信息的重要途径之一,在国防、军事、工程等方面发挥着巨大作用。然而,由于水声信道的复杂多变和声波本身的传播损失,声纳图像往往呈现出分辨率和对比度不高、噪声干扰严重、目标轮廓模糊等特点。

声纳图像的分割指的是将灰度图像细分为多个子区域的过程,声纳图像特征提取的准确度与图像分割的精度密切相关。现有的图像分割方法,比如基于各种微分算子的边缘检测法,自动求取阈值的最大类间方差法等,大都需要计算图像亮度的一阶导数或二阶导数,如果图像较大时相当耗时。近年来使用特征空间聚类法进行图像分割因其具有良好的自适应性而得到了广泛的应用。

K-Means算法根据欧式距离反复把数据分入K个类中直到满足某个终止条件;而模糊C均值FCM算法不再需要用户指定聚类数目,它通过最优化一个模糊目标函数来得到每个待分类像素点对各个聚类中心的隶属度,因此具有更强的适应性。但FCM算法没有考虑图像的空间冗余信息,因此对噪声和灰度不均匀敏感。

为此,学者们通过在目标函数中引入图像的局部信息或纹理信息来增强FCM算法的抗噪性和分割的准确度。近年来,利用曲线演化理论和水平集方法的活动轮廓模型也成为图像分割中的重要研究方向。它将目标的边界看成一个闭合的曲线,在能量泛函最小化的驱动下,轮廓线不断变形活动至目标边界。这类方法的典型代表有基于边缘的测地线主动轮廓模型、基于区域分段常量的C-V模型、基于局部特征的局部二值拟合模型和可变区域拟合模型等。

鉴于此,提出一种基于熵的声纳图像分割算法,运行环境为MATLAB R2018a,步骤如下:

1. Read the Original Shipwrecked Sonar Image

2. Gray the Image

3. Denoise the Image: DCT (Discrete Cosine Transform) Denoise

4. Edge Detection (Roberts Operator)

5. Removing Shadow Boundaries

6. Image Localization (Threshold)

7. Remove Ship Boundaries

8. Image Dilate White Pixel (Morphology Dilation)

9. Merge Denoise & Dilation Images

10. 2-D Entropy Segamentation

11. Postprocessing

出图如下:

完整代码:MATLAB环境下基于熵的声纳图像分割算法

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
cc572502653几秒前
2027校招:大数据管理与应用专业做数据治理,技术之外还要准备什么?
java·开发语言
青春逝如流水12 分钟前
Java 线程池的创建方式、注意要点与任务类型判断
java·开发语言·线程池·多线程·ai文章
徐小黑ACG13 分钟前
Golang goroutine、通道、锁
开发语言·后端·golang
开开心心_Every15 分钟前
内存清理工具定时自动清理开机自启动
java·开发语言·spring·计算机外设·ocr·intellij-idea·excel
Logic10120 分钟前
C语言/数据结构位运算题解:异或XOR找出套碗游戏中的“幸运碗“——只出现一次的数字
c语言·数据结构·算法·数组·位运算·时间复杂度·空间复杂度
纪念 22928 分钟前
c++ string(二)
开发语言·c++
李福春33 分钟前
斗破Google ADK Java苍穹-第5境斗灵-凝物通脉-Context与State
java·开发语言·人工智能·java-ee·google adk·深圳同盟·腾讯云架构师技术同盟
十年Java程序媛34 分钟前
Java 接口和抽象类对比|抛弃老旧八股,正确选型
java·开发语言·spring boot·后端
见叶之秋36 分钟前
【C++】从基类到派生类:关于C++继承的务实梳理
开发语言·c++
yi01140 分钟前
LeetCode 3. 无重复字符的最长子串|不定长滑动窗口:什么时候更新最大值?
笔记·python·算法·leetcode·双指针·滑动窗口