基于MATLAB的图像分割方法及应用

合集下载

浅析基于MATLAB的图像分割方法

浅析基于MATLAB的图像分割方法

像 中要提取 的 目标 物 与其背 景在灰 度特 性上 的差异 ,通过
设 置 合 适 的 灰 度 门 限 ( 值 ) 将 图 像 的 灰 度 划 分 为 两 个 或 阈 , 多个 灰 度 区 间 , 以确 定 有 意 义 的 区 域 或 分 割 物 体 的边 界 。 阈 值 分 割 常 用 于 图像 的 二 值 化 处 理 , 选 择 一 个 合 适 的 阈值 , 即 通 过 判 断 图像 中 的 每 一 个 像 素 点 的 特 征 属 性 是 否 满 足 阂 值
绍, 重点对 边缘检 测技 术的几 种常用 算 子进行 比较分 析 , 并 通 过 MAT AB 数 字 图 像 处 理 工 具 编 程 实 现 基 于 各 算 子 的 L
边缘 检测 。
2 .基 于 阈 值 的 图像 分 割 阈 值 分 割 『 一 种 常 用 的 图 像 分 割 方 法 , 主 要 利 用 图 2 1 是 它
阈值 分 割 。
对 于 图像 函数 r ,)它 在像 素 点( ,) 的梯 度 是一 ( y, x xy处
个矢量 , 义为: 定
Gx) [ ] E’=票 fy (]
梯度有 两个重要特性 : () 度 的方 向 为 函 数 f ,) 大 变 化 率 的 方 向 ; 1梯 ( Y最 x
划分成若 干个这样 的有意义 区域 的过程 , 各区域是具有 相近
特 性 的像 素 的连 通 集 合 。
始 区域 , 根据给定 的均 匀性检测准 则进行分裂 和合并这些 区
域 , 步 改 善 区 域 划 分 的 性 能 , 至 最 后 将 图 像 分 成 数 量 最 逐 直 少 的均匀区域 为止。 4 .基 于 边 缘 检 测 的 图 像 分 割 及 算 子 分 析 边 缘 是 指 图 像 中像 素 灰 度 值 或 色 彩 等 属 性 有 突 变 的 像 素 的集 合 , 存 在 于 目标 与 背 景 、 它 目标 与 目标 之 间 , 含 了丰 包 富 的 图 像 信 息 。基 于 边 缘 检 测 [ 图 像 分 割 正 是利 用 边 缘 的 2 ] 的 灰 度 变 化 特 性 , 过 考 察 图 像 中各 像 素 在 某 个 邻 域 内 灰 度 的 通

使用MATLAB进行图像分割的步骤

使用MATLAB进行图像分割的步骤

使用MATLAB进行图像分割的步骤图像分割是一种将图像划分为具有独立意义的不同区域的技术。

它在计算机视觉、模式识别、医学影像等领域具有广泛的应用。

MATLAB作为一种强大的编程语言和开发环境,为图像处理提供了丰富的功能和工具。

本文将介绍使用MATLAB进行图像分割的步骤。

一、图像预处理在进行图像分割之前,通常需要对图像进行预处理。

预处理的目的是消除图像中的噪声和无关信息,以提高分割的准确性和效果。

常见的图像预处理步骤包括:1. 图像灰度化:将彩色图像转换为灰度图像,简化处理过程。

2. 图像滤波:使用滤波器去除图像中的噪声,如中值滤波器、高斯滤波器等。

3. 图像增强:增强图像的对比度和清晰度,以便更好地分割图像。

二、阈值分割阈值分割是最常用和简单的图像分割方法之一。

它基于图像中像素灰度值与阈值之间的关系,将像素分为前景和背景。

使用MATLAB进行阈值分割的步骤如下:1. 选择合适的阈值:通过观察图像直方图和图像特性,选择一个适合的阈值。

2. 阈值分割:将图像中的像素根据阈值进行分类,得到分割后的图像。

三、基于边缘的分割边缘是图像中物体和背景之间的边界,通过检测边缘可以达到图像分割的目的。

使用MATLAB进行基于边缘的分割的步骤如下:1. 图像梯度计算:通过计算图像中每个像素的梯度值,得到图像中每个点的边缘强度。

2. 边缘检测:使用一些经典算法(如Sobel算子、Canny算子)进行边缘检测,得到图像中的边缘。

3. 边缘连接:根据边缘的连接关系,将分散的边缘点连接成连续的边缘线。

四、区域生长分割区域生长分割是一种基于相似性的分割方法,它将相似的像素点合并成具有相同属性的区域。

使用MATLAB进行区域生长分割的步骤如下:1. 种子点选择:选择适当的种子点,作为区域生长的起始点。

2. 区域生长:从种子点开始,逐渐将相邻像素合并到同一区域中,直到满足预设的停止条件。

五、基于聚类的分割聚类是一种将数据划分为不同组别的方法,也可以用于图像分割。

基于MATLAB的图像分块方法

基于MATLAB的图像分块方法

基于MATLAB的图像分块方法lyqmath0 引言通常我们对图像要求按指定块数或者指定长宽来做图像规则分块。

这就要求对图像的长宽信息按指定方式做处理。

这里给出按照规则分割方法得到的分割结果。

参数要求为分块的个数或者图像块的大小信息。

1 区域分割输入图像,要求分割成X*Y的图像块,然后做出矩形框标记。

代码clc; clear all; close all;I = imread('c:\\ceshi.jpg');rs = size(I, 1); % 行数cs = size(I, 2); % 列数% ch为列间隔 cw为行间隔% numr为间隔块个数 numc为间隔块个数ch = 41;cw = 40;numr = round(rs/ch);numc = round(cs/cw);% 区域块分割t1 = (0:numr-1)*ch + 1; t2 = (1:numr)*ch;t3 = (0:numc-1)*cw + 1; t4 = (1:numc)*cw;figure; imshow(I); hold on;for i = 1 : numrfor j = 1 : numcx = t1(i):t2(i);y = t3(j):t4(j);% 绘制矩形块rectangle('Position', [t3(j) t1(i) length(x) length(y)], ...'EdgeColor', 'r', 'LineWidth', 3);endend结果2 结论根据输入参数做图像分块处理,注意到图像矩阵的行列特性,可以做进一步提取。

欢迎访问我的博客:/lyqmath。

如何在Matlab中进行图像分割

如何在Matlab中进行图像分割

如何在Matlab中进行图像分割图像分割是图像处理中十分重要的一项技术,它能够将图像划分为多个具有独立意义的区域,有助于进一步的图像分析和处理。

在Matlab中进行图像分割,我们可以利用许多现成的函数和工具箱,使得整个过程更加高效和便捷。

本文将介绍如何在Matlab中进行图像分割,包括基于阈值的分割方法、基于边缘的分割方法以及基于区域的分割方法。

首先,基于阈值的分割方法是最简单和常用的图像分割方法之一。

它基于图像的亮度或颜色信息,将图像分为不同的区域。

在Matlab中,我们可以使用im2bw 函数将彩色图像转换为二值图像,然后使用graythresh函数或multithresh函数确定适当的阈值。

例如,下面的代码演示了如何使用阈值进行图像分割:```matlabimg = imread('image.jpg');grayImg = rgb2gray(img);threshold = graythresh(grayImg);binaryImg = im2bw(grayImg, threshold);```其次,基于边缘的分割方法是通过检测图像中的边缘信息来实现图像分割。

在Matlab中,我们可以使用一系列边缘检测算法,如Sobel算子、Canny算子等。

这些算法可以提取图像中的边缘信息,并将其转化为二值图像。

下面的代码演示了如何使用Canny算子进行图像分割:```matlabimg = imread('image.jpg');grayImg = rgb2gray(img);edgeImg = edge(grayImg, 'canny');```最后,基于区域的分割方法是将图像分为具有相似纹理、颜色或形状特征的区域。

在Matlab中,我们可以使用基于区域的分割算法,如分水岭算法、区域生长算法等。

这些算法可以通过对图像进行区域合并或区域分裂来实现图像分割。

Matlab技术的实际应用案例解析

Matlab技术的实际应用案例解析

Matlab技术的实际应用案例解析随着计算机技术的发展,Matlab作为一种高级技术语言,被广泛应用于多个领域。

无论是在科研领域还是工程实践中,Matlab都扮演着重要的角色。

本文将通过几个实际应用案例,探讨Matlab技术在不同领域的应用,以期给读者提供一些启示和参考。

一、图像处理领域图像处理是Matlab的一项重要应用领域。

利用Matlab提供的强大的图像处理工具箱,可以实现各种功能,例如图像增强、滤波、分割和识别等。

以下将介绍一个实际应用案例。

案例一:肿瘤图像分割肿瘤图像的分割对于医学诊断非常关键。

在某医院的研究中,研究人员利用Matlab进行了肿瘤图像的分割工作。

首先,他们先对肿瘤图像进行预处理,包括降噪和增强等操作。

然后,利用Matlab提供的图像分割算法,将肿瘤与周围组织分离出来。

最后,通过对分割后的图像进行计算,可以得到肿瘤的大小、形状等信息,为医生提供诊断依据。

二、信号处理领域信号处理是Matlab的另一个重要应用领域。

通过利用Matlab提供的信号处理工具箱,可以实现信号的滤波、谱分析、峰值检测等功能。

以下将介绍一个实际应用案例。

案例二:语音信号增强在通信领域,语音信号是一种常见的信号类型。

在某通信公司的项目中,研发团队利用Matlab对语音信号进行增强。

首先,他们通过Matlab提供的滤波器设计算法,设计了一种高效的降噪滤波器。

然后,他们利用该滤波器对采集到的语音信号进行滤波处理,去除噪声成分。

最后,通过对处理后的语音信号进行主观听感和客观评价,证明了该算法的有效性。

三、控制系统领域Matlab在控制系统领域的应用也非常广泛。

通过Matlab提供的控制系统工具箱,可以进行控制系统的建模、仿真和优化等操作。

以下将介绍一个实际应用案例。

案例三:智能交通信号优化在城市交通系统中,智能交通信号优化是一个重要的研究方向。

在某城市的交通管理局的项目中,研究人员利用Matlab进行了智能交通信号优化的仿真研究。

如何使用MATLAB进行图像分割与识别

如何使用MATLAB进行图像分割与识别

如何使用MATLAB进行图像分割与识别图像分割与图像识别是计算机视觉领域中的重要研究方向,其中MATLAB作为一种常用的编程工具,在图像处理和机器学习方面有着广泛的应用。

本文将介绍如何使用MATLAB进行图像分割与识别,并分析其中的关键技术和算法。

一、图像分割图像分割是将一副图像分割成多个具有独立语义的区域的过程。

图像分割可以帮助我们理解图像中的目标和背景,并为图像后续处理提供基础。

在MATLAB中,有许多图像分割算法可供选择,其中比较常用的是基于聚类的方法和基于边缘检测的方法。

聚类方法是将像素点根据它们在颜色、纹理或其他特征空间中的相似度进行分组。

在MATLAB中,可以使用k-means聚类算法进行图像分割。

通过设置合适的聚类中心数量,可以将图像分成不同的区域。

边缘检测方法是通过检测图像中的边缘来进行分割。

MATLAB提供了多种边缘检测算法,如Sobel算子和Canny算子。

这些算法可以帮助我们找到图像中的边缘,并将图像分割成不同的区域。

二、图像识别图像识别是通过计算机算法对图像中的目标进行自动识别和分类的过程。

MATLAB中有多种图像识别算法可供选择,其中比较常用的是基于特征提取和机器学习的方法。

特征提取是图像识别的关键步骤之一。

在MATLAB中,可以使用SIFT、SURF和HOG等算法提取图像的特征。

通过提取图像的关键点和描述子,可以将图像转换成一组可用于识别的特征向量。

机器学习是图像识别的核心技术之一。

在MATLAB中,可以使用支持向量机(SVM)、卷积神经网络(CNN)和深度学习等算法进行图像识别。

这些算法可以对提取的特征进行训练和分类,并实现目标的自动识别和分类。

三、MATLAB图像处理工具箱MATLAB提供了丰富的图像处理工具箱,包含了大量处理图像的函数和工具。

使用MATLAB图像处理工具箱,可以很方便地进行图像处理和分析。

例如,可以使用MATLAB图像处理工具箱中的imread函数读取图像,并使用imresize函数修改图像的尺寸。

matlab目标与背景的分割与提取

matlab目标与背景的分割与提取

matlab目标与背景的分割与提取"Matlab目标与背景的分割与提取"目标与背景的分割与提取是计算机视觉和图像处理中的重要课题,它涉及到将图像中的目标与背景进行有效的分离与提取。

Matlab 作为一种强大的编程工具,为我们提供了丰富多样的图像处理函数和工具箱,可以帮助我们实现目标与背景的分割与提取任务。

本文将一步一步地介绍如何使用Matlab来进行目标与背景的分割与提取。

首先,我们需要加载并显示图像。

在Matlab中,可以使用imread 函数来读取图像数据,并使用imshow函数来显示图像。

例如,下面的代码将加载并显示一张名为"image.jpg"的图像:matlabimage = imread('image.jpg');imshow(image);接下来,我们可以使用Matlab的图像处理函数来对图像进行预处理,以便更好地进行目标与背景的分割与提取。

常见的预处理操作包括图像灰度化、图像平滑和图像增强等。

首先,我们可以使用rgb2gray函数将彩色图像转换为灰度图像。

灰度图像只包含一个亮度通道,而彩色图像包含红、绿、蓝三个通道,因此灰度图像更便于对比度和亮度的调整。

例如,下面的代码将将图像转换为灰度图像:matlabgrayImage = rgb2gray(image);然后,我们可以使用图像平滑操作来减少图像中的噪声,以便更准确地进行目标与背景的分割与提取。

常见的图像平滑算法有高斯滤波和中值滤波。

例如,下面的代码将使用高斯滤波对灰度图像进行平滑处理:matlabsmoothImage = imgaussfilt(grayImage);imshow(smoothImage);最后,我们可以使用图像增强操作来增强图像的对比度和清晰度,以便更好地进行目标与背景的分割与提取。

常见的图像增强算法有直方图均衡化和自适应直方图均衡化等。

例如,下面的代码将使用直方图均衡化对平滑后的图像进行增强处理:matlabenhancedImage = histeq(smoothImage);imshow(enhancedImage);在图像预处理完成后,我们可以使用Matlab的图像分割算法来实现目标与背景的分割与提取。

在Matlab中实现医学图像分割和医学图像配准的方法

在Matlab中实现医学图像分割和医学图像配准的方法

在Matlab中实现医学图像分割和医学图像配准的方法医学图像处理在现代医学中起着重要的作用,它可以帮助医生更好地了解人体的结构和病变情况。

其中,医学图像分割和医学图像配准是两个常用的图像处理任务。

本文将介绍如何使用Matlab实现这两个任务的方法。

一、医学图像分割医学图像分割是将医学图像中感兴趣的区域从背景中分离出来的过程。

这对于病灶的检测和定位非常重要。

在Matlab中,有多种方法可以实现医学图像分割,如基于阈值的分割、基于区域的分割和基于边缘的分割等。

1. 基于阈值的分割基于阈值的分割是医学图像分割中最简单的方法之一。

它将图像中的像素根据亮度和颜色等特征进行分类。

在Matlab中,可以使用imbinarize函数实现阈值分割。

通过调整阈值的大小,可以得到不同的分割结果。

然而,这种方法对于复杂的图像可能效果不佳。

2. 基于区域的分割基于区域的分割是将图像中的像素分成若干区域,并根据相似性准则将它们合并或进一步细分的方法。

在Matlab中,可以使用regionprops函数计算各个区域的特征,并根据这些特征对区域进行分类和合并。

这种方法通常适用于异质性较小的图像。

3. 基于边缘的分割基于边缘的分割是通过检测图像中的边缘信息来实现分割的方法。

在Matlab中,可以使用边缘检测算法(如Canny算子)来提取图像中的边缘信息,并通过边缘连接或边缘跟踪来实现分割。

这种方法对于图像中有明显边缘的情况效果较好。

二、医学图像配准医学图像配准是将多个医学图像的位置和方向相对一致的过程。

它在医学影像的比较、融合和后续处理等方面具有重要的应用。

在Matlab中,有多种方法可以实现医学图像配准,如基于特征的配准、基于互信息的配准和基于形变场的配准等。

1. 基于特征的配准基于特征的配准是通过提取图像中的一些特征点或特征区域,并通过计算它们之间的相似性来实现配准的方法。

在Matlab中,可以使用SURF算法或SIFT算法来提取图像的特征,并通过RANSAC算法等方法来计算配准的变换矩阵。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安徽财经大学(《图像处理》课程论文)题目:图像分割算法研究——基于分水岭分割法的彩色图像分割学院:管理科学与工程学院专业:电子信息工程******学号:********电话:任课教师:***论文成绩:2015年10月目录摘要图像分割技术是非常重要的图像处理技术之一,无语是在理论研究还是在实际应用中人们都非常的重视。

图像分割有许多的种类和方式,一些分割运算能够直接应用于任何图像,而另外一些却只适用于特别种类的图像。

图像分割技术是从图像处理技术,再到后期的图像分析的关键步骤,图像分割结果的好坏,可以说对图像的理解有直接影响。

本文根据图像分割原理及人眼视觉的基本理论,研究图像的彩色模型及图像分割的常用方法,比较各方法的特点,并选择合适的方法对图像进行分割。

本文采用MATLAB软件对图像进行彩色坐标变换及阈值分割,计算简单,具有较高的运行效率,分割的结果是使图像更符合人眼的视觉特性,获得比较好的效果。

关键字:图像处理;图像分割;人类视觉;MATLAB1.前言1.1图像分割技术图像分割技术是非常重要的图像处理技术之一,无语是在理论研究还是在实际应用中人们都非常的重视。

图像分割有许多的种类和方式,一些分割运算能够直接应用于任何图像,而另外一些却只适用于特别种类的图像。

图像分割技术是从图像处理技术,再到后期的图像分析的关键步骤,图像分割结果的好坏,可以说对图像的理解有直接影响。

图像数据的模糊和噪声的干扰是分割问题的两大难题。

到目前为止,还没有一个完美的图像分割方法,可以根据人的意愿精确地分割任何一种图像。

现实图像中景物情况各种不同,具体问题需具体分析,按照实际情况选择得当的方法。

分割成果的好坏或正确与否,到现在为止,尚无一个统一的评价和判断标准,分割的好坏务必从分割的效果和现实应用的场合来判断。

然而,在人类研究图像的历史长河中,仍然积累了许多经典的图像分割方法。

固然这些分割方法不可以适应全部种类的图像分割,可是这些方法却是图像分割方法进一步发展的根基。

实际上,当代一些分割算法恰巧是从经典的图像分割方法中产生出来的。

图像分割法大致可以分为三个种:边缘检测法,阈值分割法和基于区域的图像分割法。

2研究目的视觉是人类最高级的感知器官,所以图像在人类感知中承担着非常重要的角色,这是毋庸置疑的。

本文的主要研究目的是对图像的分割方法进行研究,选择适合本论文的设计方法,然后通过对图像的分割,以达到人眼的最佳视觉效果。

本课题主要是通过对人眼的视觉系统研究,然后选择与人眼视觉系统密切相关的颜色模型进行颜色空间模型之间的相互转换,再对图像分割方法进行比较选择合适的分割方法,通过MATLAB平台实现彩色图像分割,最后对分割后的图像进行比较来获得到最佳的视觉效果。

3 图像处理技术基础3.1 技术背景人类通过眼、鼻、耳、身、舌接收信息,来感知外部世界,从而认识世界和改造世界。

据统计,人类取得的信息中,超过75%是从视觉角度获取的,也就意味着是从图像中获取的。

图像是物体经过反射或透射客观存在的能量,或者由发光物体自身散发的光能量,在人的视觉体统中构成的视觉信息。

客观的世界是三维的,但是一般从客观景物获得的图像是二维的。

简单地说,图像是二维或三维景物展现在人心目中的影像。

若接受并加工辨别视觉信息的是电子计算机,那么就叫做计算机图像处理和识别。

3.2 彩色图像格式由于不同的开发商自己定义的图像格式都不完全一致,因此目前数字图像有多种存储格式。

要想实行数字图像处理,就务必先了解图像文件的各种格式。

一般来说,图像文件都由文件头和图像数据两部分组成的,文件头的内容和格式是由制作该图像文件的公司决定的,大致包括文件类型、文件大小、版本号等内容。

常见的彩色图像格式包括:BMP格式、GIF格式、TIFF格式、PNG格式、JPEG格式。

下面详细介绍这几种彩色图像文件格式。

1、BMP图像文件格式BMP是英文Bitmap的简写,它是Windows操作系统中交换图像、图形数据的一种标准格式,其全称是设备独立位图(Device Independent Bitmap,DIB)。

BMP图像文件也称为位图文件,主要包括4个部分:调色板、文件头、位图信息头、位图数据。

2、GIF图像文件格式GIF(Graphics Interchange Format,图像交换文件格式)是由Compuserve公司开发的图像文件格式,目前是在不同的系统平台上交流和传输图像,现已称为BBS和网络上图像传输的通用格式。

GIF格式的所有图像数据均为压缩过的,采用的压缩算法是LZW算法,其性能优于RLE算法,能提供1:1~1:3的压缩比,压缩效率高。

LZW压缩算法的特性在于其能够动态地标记数据流中出现的重复串,并且它把压缩过程中碰到的字符串记载在这张字符串表中,下次再遇到这一字符串时,就用一短代码表示它,从而达到了压缩数据量的目的。

3、TIFF图像文件格式TIFF(Tagged Image Format File)格式是由Aldus公司与微软公司共同开发设计的图像文件格式,大部分数据扫描仪扫描输出的图像文件格式均为TIFF。

TIFF格式支持任何大小的图像,从单色的二值图像到24位的真彩色图像,它普遍的应用在单面排版系统及和它有关联的应用程序,并且与计算机的结构、操作系统和图像硬件无关。

TIFF图像文件格式的压缩方式有很多种,如游程编码压缩、LZW压缩、紧缩位法编码压缩等,也有的TIFF图像文件存放在物理介质上,没有进行压缩编码,但存放时尽可能地节约空间。

4、PNG图像文件格式PNG是90年代中期开始开发的图像文件存储格式,其目的是替代GIF和TIFF文件格式。

其格式标准由W3C制定。

PNG的特色:既可使用调色板方式存储颜色,又可以直接存储颜色值;可以存储最高48位彩色图像;采用类似LZW的deflate压缩算法实现无损压缩;可以类似GIF的渐进方式传输图像;支持图像透明显示兼容性好。

5、JPEG图像文件格式JPEG(Joint Photographic Experts Group,联合图像专家组)是由ISO和IEC为静态图像所创立的第一个国际数字图像压缩准则,主要目的是解决专业摄影师所碰到的图像信息过于巨大的问题。

JPEG格式最大的有点是解约存储空间、处理速度快,但由于JPEG是有损压缩,无论压缩比大小如何,图像的信息多多少少会损失,而且被压缩的部分不可恢复,因此图像质量往往有所下降。

3.3 彩色图像分割技术彩色图像分割是数字图像处理领域中一种十分重要的图像分析技术,在对图像的研究和应用中,按照不同领域的不同需求,在某个领域常常只对原始图像中的某些局部感兴趣。

这些目标区域通常来说都具备本身特定的少许诸如纹理、颜色等性质,彩色图像的分割主要按照图像在不同区域内的不同特征,从而对图像进行边界或区域上的分割,并从中提取出所关心的目标。

4分水岭分割法分水岭分割法是一种重要的形态学图像分割法,而且具有成熟的迅速算法。

在分水岭分割法中,待分割的图像被当作地形学上被水覆盖的自然地貌,然后将图像中的每个像素的灰度值示意为该点的海拔高度,其每个部分极小值和其影响区域叫做集水盆,而集水盆的边界则是分水岭。

在分水岭分割方法中,由于灰度值的不同,每个局部极小值孕育出互不重合的分割区域,作为分水岭或集水盆地,则各个区域之间的边界叫做分割线或者分水线。

如图1所示在低分辨率下的相似图像经分水岭算法进行初始分割后的结果。

图1 分水岭分割法因为在分水岭分割法中,对应每个局部极小值都孕育出一个分割区域,于是获得的初始分割结果是过分割,于此同时不同颜色之间的边缘几近全数被包括在分水线之中。

所以将属于同一类色彩的初始分割区域根据特定准则进行统一,可以获得预期的效果图。

本文使用一种基于图像空间和颜色关连区域统一标准,按照各个初始分割区域的色彩差别和空间上的邻接关系确定各个区域的合并次序。

依然采用归一化的H 和S 份量来权衡不同区域的色彩差别,如式2-11所示。

因为归一化H 份量是从小到大依次以合拢环状散布,即最小值0和最大值1表示相似的色彩,所以H 份量的间距计算方法不同,如式2所示。

(1)(2) 上式中,i ,j 表示随意2个初始分割区域;RH 代表归一化H 份量的平均值,RS 代表归一化S 份量的平均值;D(i ,j)表示区域i ,j 之间的色彩差别。

两个相邻区域的结合度由公有边界的像素数目以及边界处像素的梯度差决定,如式3所示,N(i ,j)表征结合度。

(3)上式中,E(i ,j)表示区域i ,j 之间的边界区域;M 为梯度图像;∣E(i ,j)∣为区域E(i ,j)的像素数量。

色彩差别和结合度一起确定各相邻区域对的归并的优先级,如式4所示,λ是由实验取得,一般取值0.8。

每次将优先级最高的即F(i ,j)值最小的2个相邻区域进行合并,合并后区域的RH 和RS 和相应F(i ,j)重新计算,而后进入下一次合并流程。

()()()(),1,,,,D i j N i j i j F i j i j λλ⎧+-=⎨∞⎩相邻不相邻 (4)结果如图2所示。

图2 区域合并的结果5 彩色图像分割的MATLAB 实现5.1 MATLAB 语言:分水岭分割法实现图像分割5.1.1 设计流程图3 分水岭分割法设计流程图如图3所示,为分水岭分割法的设计流程图。

它采用了分级阵列结构,按照像素的高低来确定所选元素的优先级。

具体流程:(1)分级队列的初始化,扫描所有标记的邻居像素,将未有归属的邻居像素按优先级不同放入不同优先级的队列;(2)5.1.2 MATLAB程序分水岭分割法代码如下:rgb = imread('xibao.JPG');I = rgb2gray(rgb);imshow(I) %读入彩色图像,将其转化成灰度图像hy = fspecial('sobel');hx = hy';Iy = imfilter(double(I), hy, 'replicate');Ix = imfilter(double(I), hx, 'replicate');gradmag = sqrt(Ix.^2 + Iy.^2);figure, imshow(gradmag,[]), title('梯度幅值图像')% 使用梯度级作为细分功能se = strel('disk', 20);Io = imopen(I, se);figure, imshow(Io), title('图像开操作')Ie = imerode(I, se);Iobr = imreconstruct(Ie, I);figure, imshow(Iobr), title('基于开的重建图像') % 直接使用分水岭变换Ioc = imclose(Io, se);figure, imshow(Ioc), title('闭操作图像') %消除黑斑和标志干细胞Iobrd = imdilate(Iobr, se);Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));Iobrcbr = imcomplement(Iobrcbr);figure, imshow(Iobrcbr), title('基于重建的开闭操作图像')fgm = imregionalmax(Iobrcbr);figure, imshow(fgm), title('腐蚀操作')I2 = I;I2(fgm) = 255;figure, imshow(I2), title('局部极大叠加到原图像')% 去除小瑕疵,使局部极大叠加到原图像上。

相关文档
最新文档