Advertisement

【图像分割】 医学图像均值聚类+OUST+区域生长法图像分割【含 GUI Matlab源码 2210期】

阅读量:

💥💥💞💞欢迎来到Matlab仿真科研站博客之家💞💞💥💥

basePath: 热衷于科研领域的Matlab仿真开发者, 在提升个人修养的同时, 注重技术的专业精进. 欢迎有意向与Matlab相关项目合作的朋友随时私信交流.

🍎个人主页:Matlab仿真科研站博客之家

🏆代码获取方式:
💥扫描文章底部QQ二维码💥

⛳️座右铭:行百里者,半于九十;路漫漫其修远兮,吾将上下而求索。

在这里插入图片描述

⛄丰富Matlab图像处理(仿真科研站版)相关内容的访问入口

⛄一、图像分割简介

1 图像分割技术

图像分割 : 根据灰度 , 颜色 , 纹理等,将图像进行分割。

2 常用的分割技术

2.1 边缘检测法 在图像处理中,边缘识别是一项至关重要的任务。在图像中,边沿区域通常表现为相邻像素之间灰度值发生突变的地方。主要的任务包括测量灰度变化的程度、精确识别边沿位置以及进行分类分析。目前已有多种有效的边缘检测算法,在实际应用中可以通过选择合适的滤波器来提高 detection 的准确性和抗噪声性能。为了提高精度和鲁棒性,在图像处理领域研究人员不断探索优化算法以适应复杂场景的需求。

边缘检测的基本思想:
(1)利用边缘增强算子,突出图像中的局部边缘;
(2)然后定义像素的“边缘强度”,通过设置阈值的方法提取边缘点集。由于噪声和模糊的存在,监测到的边界可能会变宽或在某点处发生间断。
边界检测包括两个基本内容:
i. 用边缘算子提取出反映灰度变化的边缘点集
ii. 在边缘点集合中剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线
常用的检测算子有拉普拉斯边缘检测算法、Robert边缘检测算子、Sobel边缘检测算子、Prewitt边缘检测算子、Canny边缘检测算子。

五种边缘检测算法比较:

复制代码
    clear;
    close all;
    I=imread('houzi.jpg');
    I0=rgb2gray(I);
    subplot(231);
    imshow(I);
    
    
    
      
      
      
      
      
      
      
    
    代码解读
在这里插入图片描述

Robert算法在低噪声环境(low noise)下表现出较高的定位精度(precision),尤其适用于具有急剧变化(sharp change)边界的图像;然而该方法未进行任何平滑处理(smoothing),因此不具备抑制(suppression)噪声的能力(ability)。

Sobel和Prewitt算子经过(undergo)了有效的平滑处理(smoothing),在一定程度上(to some extent)抑制了图像中的高斯噪音(Gaussian noise),但在实际应用中可能会导致每条边被检测到多个像素宽的结果。

Laplacian算子由于其对于噪音的高度敏感性(high sensitivity to noise),使得其对于纯高斯噪音成分(Gaussian frequency components)的响应变得异常强烈;这种特性可能导致部分边缘方向信息丢失(information loss),从而出现不连贯的边界检测结果;此外该算子还未能有效提升抗噪性能(anti-noise performance)。

对于log滤波器而言,在增强抗噪性能方面表现出了色;然而这一特性也让其无法探测到那些尖锐的变化点(sharp transitions),因为这些点会被过度模糊而无法捕捉到。

2.1.1 微分算子
(1)Canny 算子
(2) LOG算子
函数 edge ( )

复制代码
    I = imread('rice.png');
    I = im2double(I);
    J = imnoise(I, 'gaussian', 0, 0.005);
    [K, thresh] = edge(J, 'Log', [], 2.3);
    figure;
    subplot(121),imshow(I);
    subplot(122),imshow(K);
    
    
      
      
      
      
      
      
      
    
    代码解读
在这里插入图片描述

2.1.2 常见的微分算子
(1) Sobel算子
函数 edge ( )

复制代码
    I = imread('rice.png'); %RGB彩色图
    % imshow(I);
    I = rgb2gray(I);
    [J, thresh] = edge(I, 'sobel', [], 'horizontal');
    figure;
    subplot(121);imshow(I);
    subplot(122);imshow(J);
    
    
      
      
      
      
      
      
      
    
    代码解读
在这里插入图片描述

(2) Roberts 算子
函数 edge ( )

复制代码
    I = imread('rice.png');
    I = im2double(I);
    [J, thresh] = edge(I, 'Roberts', 35/255); %边缘检测 ,roberts算子, 阈值为归一化后的35/255
    figure;
    subplot(121),imshow(I);
    subplot(122),imshow(J);
    
    
      
      
      
      
      
      
    
    代码解读
在这里插入图片描述

(3) Prewit 算子
函数 edge ( )

复制代码
    I = imread('rice.png');
    % I = imread('rice.png');
    I = im2double(I);
    [J, thresh] = edge(I, 'prewitt', [], 'both');%默认阈值, 从水平和竖直方向进行设置
    figure;
    subplot(121);imshow(I);
    subplot(122);imshow(J);
    
    
      
      
      
      
      
      
      
      
    
    代码解读
在这里插入图片描述;

2.2 阈值分割法
阈值分割法是经典的、流行的图像分割方法之一,并且是最简单的分割方法。其核心在于找到合适的灰度阈值,并通常依据图像的灰度直方图进行选择。特别适用于目标与背景处于不同灰度范围的图像。

2.2.1 全局阈值
直方图显示

复制代码
    clear,clc;
    I = imread('rice.png');
    subplot(121),imshow(I);
    subplot(122),imhist(I, 200); %直方图显示
    
    
      
      
      
      
    
    代码解读
在这里插入图片描述

全局阈值分割

复制代码
    clear,clc;
    I = imread('rice.png');
    J = I > 120; %全局阈值为120 , 波谷大概是120
    K = I > 130; %全局阈值为130
    figure;
    subplot(131),imshow(I);
    subplot(132),imshow(J);
    subplot(133),imshow(K);
    
    
      
      
      
      
      
      
      
      
    
    代码解读
在这里插入图片描述

2.2.2 Otsu阈值分割

复制代码
    I = imread('rice.png');
    I = im2double(I);
    T = graythresh(I); %获取阈值
    J = im2bw(I, T); %图像分割
    subplot(121),imshow(I);
    subplot(122),imshow(J);
    
    
      
      
      
      
      
      
    
    代码解读

2.2.3 迭代式阈值分割法

复制代码
    clear, clc
    I = imread('rice.png');
    I = im2double(I);
    T0 = 0.01; %精度
    % T1 = graythresh(I) %用Otsu求阈值
    T1 = min(I(:)) + max(I(:)) / 2; %初始估计阈值
    r1 = find(I > T1); %找出比阈值大的像素
    r2 = find(I <= T1); %找出比阈值小的像素
    T2 = (mean(I(r1)) + mean(I(r2))) / 2; %各个像素加和求平均
    while abs(T2 - T1) < T0 %
    T1 = T2;
    r1 = find(I > T1);
    r2 = find(I <= T1);
    T2 = (mean(I(r1)) + mean(I(r2))) / 2;
    end
     
    J = im2bw(I, T2);
    subplot(121),imshow(I);
    subplot(122),imshow(J);
    
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

2.3 区域分割法
将相邻像素与其他区域具有相同特性的情况纳入现有区域中进行逐步扩展。
相似性度量:基于平均灰度值、纹理特征以及颜色信息进行评估。
主要缺点是容易导致过分割现象的发生。
取决于分割效果的关键因素包括种子点的选择、生长规则以及终止条件。

2.3.1 分水岭分割

复制代码
    clear,clc;
    I = imread('Gray.jpg');
    J = watershed(I, 4); % 4个连通区域,默认为8
    subplot(121),imshow(I);
    subplot(122),imshow(J);
    
    
      
      
      
      
      
    
    代码解读
在这里插入图片描述

2.3.2 区域生长分割
基于统一物体区域的像素相似性而聚集 pixels 而实现 region growing 的方法。其中从一组代表不同区域的 seed pixels 开始,在逐步将 seed pixels 周围具有相似特性的 pixels 合并以扩大 region 的范围的过程中持续进行操作直至无法再合并 pixels 或者 region 较小无法继续扩展为止。其中衡量区域内 pixel 相似性的指标包括 average gray value, texture, color 等等信息而其核心要素在于科学选择 seed pixels 以及设定合理的 growth criterion 最早提出的基于 region 的图像分割方法是由 Levine 等人所提出的

2.3.3 区域分离聚合分割
区域分割合并方法(Gonzalez, 2002)首先确定划分合并的标准;然后将图像划分为多个互不重叠的区域;接着依据标准对这些区域实施进一步的划分与合并操作。该方法不仅适用于灰度图像的分割问题而且也可应用于纹理图像的分割任务。

3 基于能量泛函的分割方法
该类方法主要包含基于活动轮廓模型及其衍生算法。这些方法的核心在于采用连续曲线描述目标边界,并建立一个能量泛函使其参数涵盖边界曲线。从而将分割问题转化为寻找使能最优化的参数路径。通常可以通过求解相关变分问题中的极值方程来实现这一过程。当能取得极小时对应的路径即为目标物体的轮廓位置。

活动轮廓模型逐步发展出不同的分类体系,在实际应用中较为常见的方式是根据曲线演化机制的不同来进行分类划分。主要将活动轮廓模型划分为基于边界、基于区域以及混合型三种类型。同时,在具体实现过程中,则需根据曲线表达形式的差异来决定具体的分类标准。其中参数活动轮廓模型(parametric active contour model)和几何活动轮廓模型(geometric active contour model)是最为常见的两种基本类型

蛇模型(Snakes Model)是一种基于能量最小化的图像分割技术,在计算机视觉领域具有重要应用价值;ASM(Active Shape Model)通过统计形状信息实现灵活的人体轮廓匹配;AAM(Active Appearance Model)结合形状与纹理特征实现精确的表情和细节匹配;CLM(Constrained Local Model)则通过引入约束条件提升局部特征的准确性

3.2 几何活动轮廓模型

⛄二、部分源代码

⛄三、运行结果

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

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

1.1 PID优化
1.2 VMD优化
1.3 配电网重构
1.4 三维装箱
1.5 微电网优化
1.6 优化布局
1.7 优化参数
1.8 优化成本
1.9 优化充电
1.10 优化调度
1.11 优化电价
1.12 优化发车
1.13 优化分配
1.14 优化覆盖
1.15 优化控制
1.16 优化库存
1.17 优化路由
1.18 优化设计
1.19 优化位置
1.20 优化吸波
1.21 优化选址
1.22 优化运行
1.23 优化指派
1.24 优化组合
1.25 车间调度
1.26 生产调度
1.27 经济调度
1.28 装配线调度
1.29 水库调度
1.30 货位优化
1.31 公交排班优化
1.32 集装箱船配载优化
1.33 水泵组合优化
1.34 医疗资源分配优化
1.35 可视域基站和无人机选址优化

2 机器学习和深度学习分类与预测
2.1 机器学习和深度学习分类
2.1.1 BiLSTM双向长短时记忆神经网络分类
2.1.2 BP神经网络分类
2.1.3 CNN卷积神经网络分类
2.1.4 DBN深度置信网络分类
2.1.5 DELM深度学习极限学习机分类
2.1.6 ELMAN递归神经网络分类
2.1.7 ELM极限学习机分类
2.1.8 GRNN广义回归神经网络分类
2.1.9 GRU门控循环单元分类
2.1.10 KELM混合核极限学习机分类
2.1.11 KNN分类
2.1.12 LSSVM最小二乘法支持向量机分类
2.1.13 LSTM长短时记忆网络分类
2.1.14 MLP全连接神经网络分类
2.1.15 PNN概率神经网络分类
2.1.16 RELM鲁棒极限学习机分类
2.1.17 RF随机森林分类
2.1.18 SCN随机配置网络模型分类
2.1.19 SVM支持向量机分类
2.1.20 XGBOOST分类

2.2 机器学习和深度学习预测
2.2.1 ANFIS自适应模糊神经网络预测
2.2.2 ANN人工神经网络预测
2.2.3 ARMA自回归滑动平均模型预测
2.2.4 BF粒子滤波预测
2.2.5 BiLSTM双向长短时记忆神经网络预测
2.2.6 BLS宽度学习神经网络预测
2.2.7 BP神经网络预测
2.2.8 CNN卷积神经网络预测
2.2.9 DBN深度置信网络预测
2.2.10 DELM深度学习极限学习机预测
2.2.11 DKELM回归预测
2.2.12 ELMAN递归神经网络预测
2.2.13 ELM极限学习机预测
2.2.14 ESN回声状态网络预测
2.2.15 FNN前馈神经网络预测
2.2.16 GMDN预测
2.2.17 GMM高斯混合模型预测
2.2.18 GRNN广义回归神经网络预测
2.2.19 GRU门控循环单元预测
2.2.20 KELM混合核极限学习机预测
2.2.21 LMS最小均方算法预测
2.2.22 LSSVM最小二乘法支持向量机预测
2.2.23 LSTM长短时记忆网络预测
2.2.24 RBF径向基函数神经网络预测
2.2.25 RELM鲁棒极限学习机预测
2.2.26 RF随机森林预测
2.2.27 RNN循环神经网络预测
2.2.28 RVM相关向量机预测
2.2.29 SVM支持向量机预测
2.2.30 TCN时间卷积神经网络预测
2.2.31 XGBoost回归预测
2.2.32 模糊预测
2.2.33 奇异谱分析方法SSA时间序列预测

2.3 机器学习与深度学习实际应用场景预测

3 图像处理技术
3.1 边缘检测技术
3.2 图像处理技术
3.3 分割技术
3.4 分类技术
3.5 跟踪技术
3.6 加密解密技术
3.7 检索技术
3.8 配准技术
3.9 拼接技术
3.10 评价技术

  • 去噪技术
  • 融合技术和方法
  • 识别技术和方案

3.14 图像修复
3.15 图像压缩
3.16 图像隐写
3.17 图像增强
3.18 图像重建

4 路径规划方面
4.1 旅行商问题(TSP)
4.1.1 单旅行商问题(TSP)
4.1.2 多旅行商问题(MTSP)
4.2 车辆路径问题(VRP)
4.2.1 车辆路径问题(VRP)
4.2.2 带容量的车辆路径问题(CVRP)
4.2.3 带容量+时间窗+距离车辆路径问题(DCTWVRP)
4.2.4 带容量+距离车辆路径问题(DCVRP)
4.2.5 带距离的车辆路径问题(DVRP)
4.2.6 带充电站+时间窗车辆路径问题(ETWVRP)
4.2.3 带多种容量的车辆路径问题(MCVRP)
4.2.4 带距离的多车辆路径问题(MDVRP)
4.2.5 同时取送货的车辆路径问题(SDVRP)
4.2.6 带时间窗+容量的车辆路径问题(TWCVRP)
4.2.6 带时间窗的车辆路径问题(TWVRP)
4.3 多式联运运输问题

4.4 机器人路径规划
4.4.1 避障路径规划
4.4.2 迷宫路径规划
4.4.3 栅格地图路径规划

4.5 配送路径规划方案
4.5.1 基于温度控制的配送路径规划
4.5.2 非食品类商品配送策略
4.5.3 医疗物资配送优化方案
4.5.4 医药品配送路线设计
4.5.5 带有充电设施的配送路线优化
4.5 6 连锁零售企业配货策略研究
车辆协同无人机配货方式设计

4.6 无人机路径规划
4.6.1 飞行器仿真
4.6.2 无人机飞行作业
4.6.3 无人机轨迹跟踪
4.6.4 无人机集群仿真
4.6.5 无人机三维路径规划
4.6.6 无人机编队
4.6.7 无人机协同任务
4.6.8 无人机任务分配

6 元胞自动机方面
6.1 基于元胞自动机的病毒仿真研究
6.2 元胞自动机在城市规划中的应用
6.3 基于元胞自动机的交通流模拟分析
6.4 基于元胞自动机的气体行为模拟
6.5 基于元胞自动机的人群疏散机制研究
6.6 基于元胞自动机的森林火灾传播机制研究
6.7 基于元胞自动机的生命游戏理论研究

7 信号处理方面
7.1 故障信号诊断研究
7.1.1 齿轮损伤判定
7.1.2 异步电机转子断条故障诊断分析
7.1.3 滚动体内外圈故障诊断研究
7.1.4 电机故障诊断分析
7.1.5 轴承故障诊断研究
7.1.6 齿轮箱故障诊断分析
7.1.7 三相逆变器故障诊断研究
7.1.8 柴油机故障诊断研究

第7章 激光雷达技术

7.3 生物电信号
7.3.1 肌电信号EMG
7.3.2 脑电信号EEG
7.3.3 心电信号ECG
7.3.4 心脏仿真

以上为改写后的内容

7.5 无人机通信

第七章 无线传感器网络的位置估计与部署策略

第七章

7.6 无线传感器网络的位置估计与部署策略

7-1 WSN的位置估计

7-4-1 基于多跳数目的位置估计方法

7-5 综合多种导航技术的方法

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

全部评论 (0)

还没有任何评论哟~