一、图像分割简介

1 图像分割技术

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

2 常用的分割技术

2.1 边缘检测法
边缘是图像的最重要的特征。边缘是指周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘检测主要是灰度变化的度量、检测和定位。有很多种不同的边缘检测方法,同一种方法使用的滤波器也不尽相同。图像边缘检测就是研究更好的边缘检测方法和检测算子。

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

五种边缘检测算法比较:

clear;
close all;
I=imread('houzi.jpg');
I0=rgb2gray(I);
subplot(231);
imshow(I);


Robert:边缘定位精度较高,对于陡峭边缘且噪声低的图像效果较好,但没有进行平滑处理,没有抑制噪声的能力。
sobel和prewitt:进行了平滑处理,对噪声具有一定抑制能力,但容易出现多像素宽度。
Laplacian:对噪声较为敏感,使噪声能力成分得到加强,容易丢失部分边缘方向信息,造成一些不连续的检测边缘,同时抗噪声能力较差。
log:抗噪声能力较强,但会造成一些尖锐的边缘无法检测到。
canny:最优化思想的边缘检测算子,同时采用高斯函数对图像进行平滑处理,但会造成将高频边缘平滑掉,造成边缘丢失,采用双阈值算法检测和连接边缘。

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;
endJ = 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 区域生长分割
根据统一物体区域的像素相似性来聚集像素点达到区域生长的方法。其中由一组表示不同区域的种子像素开始,逐步合并种子周围相似的像素从而扩大区域。直到无法合并像素点或小领域为止。其中区域内的相似性的度量可用平均灰度值、纹理、颜色等等信息。关键在于选择初始种子像素及生长准则。最早的区域生长图像分割方法是由Levine等人提出。

2.3.3 区域分离聚合分割
区域分裂合并法(Gonzalez,2002),确定分裂合并的准则,然后将图像任意分成若干互不相交的区域,按准则对这些区域进行分裂合并。它可用于灰度图像分割及纹理图像分割。

3 基于能量泛函的分割方法
该类方法主要指的是活动轮廓模型(active contour model)以及在其基础上发展出来的算法,其基本思想是使用连续曲线来表达目标边缘,并定义一个能量泛函使得其自变量包括边缘曲线,因此分割过程就转变为求解能量泛函的最小值的过程,一般可通过求解函数对应的欧拉(Euler.Lagrange)方程来实现,能量达到最小时的曲线位置就是目标的轮廓所在。

活动轮廓模型逐渐形成了不同的分类方式,较常见的是根据曲线演化方式的不同,将活动轮廓模型分为基于边界、基于区域和混合型活动轮廓模型。按照模型中曲线表达形式的不同,活动轮廓模型可以分为两大类:参数活动轮廓模型(parametric active contour model)和几何活动轮廓模型(geometric active contour model)。

3.1 参数活动轮廓模型(parametric active contour model)
Snake模型:
ASM(Active Shape Model)
AAM(Active Appearance Models)
CLM(Constrained local model)有约束的局部模型

3.2 几何活动轮廓模型
几何活动轮廓模型的曲线运动过程是基于曲线的几何度量参数而非曲线的表达参数,因此可以较好地处理拓扑结构的变化,并可以解决参数活动轮廓模型难以解决的问题。而水平集(Level Set)方法(Osher,1988)的引入,则极大地推动了几何活动轮廓模型的发展,因此几何活动轮廓模型一般也可被称为水平集方法。

二、部分源代码

三、运行结果




四、matlab版本及参考文献

1 matlab版本
2014a

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

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

【图像分割】基于matlab GUI医学图像均值聚类+OUST+区域生长法图像分割【含Matlab源码 2210期】相关推荐

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

    ⛄一.图像分割简介 1 图像分割技术 图像分割 : 根据灰度 , 颜色 , 纹理等,将图像进行分割. 2 常用的分割技术 2.1 边缘检测法 边缘是图像的最重要的特征.边缘是指周围像素灰度有阶跃变化或 ...

  2. 【图像分割】基于均值聚类+OUST+区域生长法实现MRI图像分割附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  3. 【数字信号调制】基于matlab GUI PCM编码和QAM调制系统【含Matlab源码 2080期】

    ⛄一.PCM编码+QAM调制简介 1 PCM 数字信号是对连续变化的模拟信号进行抽样.量化和编码产生的,称为PCM(Pulse Code Modulation),即脉冲编码调制. 脉冲编码调制就是把一 ...

  4. 【图像分割】基于OUST、均值聚类和区域生长法实现医学图像处理系统附GUI界面

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  5. 【车辆计数】基于matlab GUI背景差分法道路行驶多车辆检测【含Matlab源码 1911期】

    ⛄一.背景差分法和帧间差分法的车辆运动目标检测简介 1 引言 运动目标检测是从图像序列中检测运动目标.通过运动目标检测可以得到图像中的运动目标,获取图像中的运动信息.运动目标检测在医学辅助诊断.航天航 ...

  6. 【图像加密】基于matlab GUI正交拉丁方置乱+混沌图像加密解密【含Matlab源码 636期】

    ⛄一.正交拉丁方置乱及混沌系统简介 0 引言 随着通讯技术的飞速发展, 越来越多的领域需要传送数字图像信号, 因此信息的传送安全问题显得越来越重要.通常应用于数字图像通信的两种保护技术为:数字水印技术 ...

  7. 【图像加密】基于matlab GUI正交拉丁方置乱算法图像加解密【含Matlab源码 182期】

    ⛄一.正交拉丁方置乱简介 0 引言 随着通讯技术的飞速发展, 越来越多的领域需要传送数字图像信号, 因此信息的传送安全问题显得越来越重要.通常应用于数字图像通信的两种保护技术为:数字水印技术和图像加密 ...

  8. 【时钟识别】基于matlab GUI Hough变换指针式时钟识别【含Matlab源码 2085期】

    ⛄一.简介 1 仪表示数识别流程 基于刻度准确定位的指针式仪表示数识别方法包括预处理.指针检测.刻度定位.油位计表盘中心拟合与仪表读数计算5个部分.该方法无需预先添加任何表盘信息,算法流程如图2所示. ...

  9. 【图像融合】基于matlab GUI高斯金字塔+拉普拉斯金字塔彩色图像融合【含Matlab源码 1506期】

    一.区域分割图像融合简介 图像的分解 对源图像进行融合时,首先对图像进行分解,利用拉普拉斯金字塔分解,先对图像进行高斯金字塔分解,然后再进行拉普拉斯金字塔分解. 1 高斯金字塔分解 记源图像为G0,G ...

最新文章

  1. 如何在 Linux 中查看目录大小?
  2. MySQL中常见的单行函数(上)
  3. usb打印机命令_打印机脱机怎么办 打印机脱机解决方法【详解】
  4. Ajax(jquery)
  5. 在ubuntu 12.04上安装tomcat 7.40
  6. 搜索引擎下拉食云速捷详细_下拉框优化才云速捷一流!下拉框优化虑云速捷豪杰...
  7. 出现次数超过一半的数(信息学奥赛一本通-T1186)
  8. H3C-WA2210升级
  9. MySQL InnoDB count()函数
  10. 上一季诺基亚销售下跌28%
  11. 总结JavaScript中的继承
  12. Android之判断设备网络连接状态,并判断连接方式
  13. matlab脚本栏中间有条线,word中间有一根线 word中间有一条线如何去掉
  14. 小波神经网络的基本原理,小波神经网络算法原理
  15. Aruba 无线调试(Instant AP)
  16. 数据分析师之所需要了解的产品系列知识(二)——如何测试产品健康
  17. python 使用pdfminer3k 读取PDF文档
  18. Gradle简单配置
  19. Kubernetes ~ k8s 从入门到入坑。
  20. 初学前端用代码实现一个网页老虎机游戏

热门文章

  1. 计算机绘图基础属于哪一类,第2章计算机绘图基础(简洁版).ppt
  2. 2020华为测试工程师面经
  3. lodop实现打印,支持分页打印
  4. wpsmac和pc版的区别_后悔用苹果装Windows 对比发现macOS实在是太好用了
  5. wallpaper怎么改后缀_怎么让家里无线网速变快
  6. 终极解决方案:Python 将数字转为中文的万亿兆或者英文的KMBT形式
  7. python数据分析大作业-python大作业
  8. UMLet创建自定义元素
  9. 开发板对于学会单片机这件事重要吗?
  10. 每个小组对本组的意见