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等。

相关推荐
会周易的程序员1 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
机器视觉知识推荐、就业指导1 小时前
为什么老说“纯 Qt 没啥就业市场”?
开发语言·qt
telepan1 小时前
Qt 开发避坑与性能指南:如何优雅、安全地定义全局常量字符串?
开发语言·qt
m0_695251492 小时前
Qt MaintenanceTool 使用国内镜像加速下载(超详细教程)
开发语言·qt
en.en..2 小时前
C语言 标准输入 / 输出缓冲区
算法
大衛說3 小时前
《Python 从入门到精通》系列总览与学习路线
开发语言·python·学习
吃好睡好便好4 小时前
查找函数的使用
学习·算法·matlab·生活·查找函数
学习星球4 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
可乐鸡翅yeah_4 小时前
hls.js 内存泄漏实战排查,直播 M3U8 长时间播放异常定位方案
开发语言·javascript·python·django·ecmascript·m3u8·m3u8在线
2601_962203514 小时前
Java进阶07集合(续)
java·开发语言