精华内容
下载资源
问答
  • 区域分割图像的基本思想
    万次阅读 多人点赞
    2019-08-17 10:40:40

    0 区域分割技术

    基于区域的分割是以直接寻找区域为基础的分割技术,实际上类似基于边界的图像分割技术一样利用了对象与背景灰度分布的相似性。

    大体上基于区域的图像分割方法可以分为两大类:

    1. 区域生长法
    2. 区域分裂与合并

    1 区域生长法

    根据一定的准则将像素或子区域聚合城更大区域的过程。区域生长法的关键在于选取合适的生长准则,不同的生长准则会影响区域生长的过程、结果。生长准则可根据不同的原则制定,大部分区域生长准则使用图像的局部性质。

    1.1 基本方法

    以一组种子点开始,将与种子性质相似(如灰度级)的领域像素附加到生长区域的每个种子上

    1.1.1 种子产生的方法

    • 根据所解决问题的性质选择一个或多个起点
    • 若无先验信息,则对每个像素计算相同的特性集,特性集在生长过程中用于将像素归属于某个区域
    • 若这些计算的结果呈现了不同簇的值,则簇中心附近的像素可以作为种子

    1.1.2 终止规则
    若没有像素满足加入到某个区域的条件时,则区域停止生长,终止规则的制定需要先验知识或先验模型。

    1.1.3 相似度准则

    • 灰度级类似准则
    • 纹理类似准则
    • 颜色类似准则
    1.2 区域生长法算法

    1.2.1 基于区域灰度差的区域生长法
    这是一种以像素为基本单位进行操作的方法,具体步骤如下:

    1. 对图像进行逐行扫描,找出尚没有归属的图像
    2. 以该像素为中心检查它的领域像素,即将领域中的像素逐个与它比较,若灰度差小于阈值 T T T,则将它们合并
    3. 以新合并的像素为中心,回到步骤2检查新像素的邻域,直到区域无法进一步扩张
    4. 重复步骤1~3,直到不能找出没有归属的像素则结束整个生长过程

    一个4领域、阈值 T = 1 T=1 T=1的区域生长示例:
    在这里插入图片描述

    改进方法的思路

    • 求出所有领域的平均灰度差,并合并具有最小灰度差的邻接区域
    • 考虑区域生长的历程
    • 考虑生长形状

    1.2.2 基于区域内灰度分布统计的区域生长法
    考虑以灰度分布相似性作为生长准则来决定区域的合并,具体步骤如下:

    1. 把图像划分为互不重叠的小区域
    2. 比较邻接区域的灰度直方图,根据灰度分布的相似性进行区域合并
    3. 设定终止准则,通过不断重复步骤2将各个区域依次合并,直到满足终止准则

    h 1 ( z ) h_1(z) h1(z) h 2 ( z ) h_2(z) h2(z)分别为两个邻接区域的灰度直方图,则灰度分布相似性判断标准为: max ⁡ ∣   h 1 ( z ) − h 2 ( z )   ∣ \max|\ h_1(z)-h_2(z)\ | max h1(z)h2(z)  ∑ ∣   h 1 ( z ) − h 2 ( z )   ∣ \sum|\ h_1(z)-h_2(z)\ |  h1(z)h2(z) 若检测结果小于给定阈值 T T T,即将两个区域合并
    需要注意的是,划分区域的大小要合适,太小则可靠性降低,太大则测得的区域形状不理想

    2 区域分裂与合并

    区域分裂与合并算法的基本思路类似于微分,即无穷分割,然后将分割后满足相似度准则的区域进行合并。

    2.1 实现步骤
    1. 对图像中灰度级不同的区域,均分为4个子区域
    2. 若相邻的子区域所有像素的灰度级相同,则将其合并
    3. 重复1~2步骤,直到不再有新的分裂与合并为止

    2.1.1 改进方法
    将相似度准则 P ( R i ) P(R_i) P(Ri)定义为:

    1. 区域内多于80%的像素满足不等式 P ( R i ) = ∣   z i j − m i   ∣ ⩽ 2 σ i P(R_i)=|\ z_{ij}-m_i\ |\leqslant 2\sigma_i P(Ri)= zijmi 2σi其中 z i j z_{ij} zij表示区域 R i j R_{ij} Rij中第 j j j个点的灰度级; m i m_i mi表示区域 R i R_i Ri的平均灰度级; σ i \sigma_i σi表示区域 R i R_i Ri灰度级的标准方差
    2. P ( R i ) ⩽ 2 σ i P(R_i)\leqslant 2\sigma_i P(Ri)2σi,则将区域内所有像素的灰度级置为 m i m_i mi
    更多相关内容
  • 在对已有算法分析的基础上,提出基于古典概率理论的图像生成模型,重点介绍区域合并思想与统计理论相结合的合并预测准则,该准则是逐步松弛的,确保在无像素遗漏的同时分割的精度。算法不但考虑了像素的相似性,还考虑了...
  • 基于区域分割图像分割)

    千次阅读 2021-02-11 22:29:06
    1. 区域生长区域增长方法是根据同一物体区域内象素的相似性质来聚集象素点的方法,从初始区域(如...区域增长方法是一种比较普遍的方法,在没有先验知识可以利用时,可以取得最佳的性能,可以用来分割比较复杂的图象...

    1. 区域生长

    区域增长方法是根据同一物体区域内象素的相似性质来聚集象素点的方法,从初始区域(如小邻域或甚至于每个象素)开始,将相邻的具有同样性质的象素或其它区域归并到目前的区域中从而逐步增长区域,直至没有可以归并的点或其它小区域为止。区域内象素的相似性度量可以包括平均灰度值、纹理、颜色等信息。

    区域增长方法是一种比较普遍的方法,在没有先验知识可以利用时,可以取得最佳的性能,可以用来分割比较复杂的图象,如自然景物。但是,区域增长方法是一种迭代的方法,空间和时间开销都比较大。

    区域生长是一种串行区域分割的图像分割方法。区域生长是指从某个像素出发,按照一定的准则,逐步加入邻近像素,当满足一定的条件时,区域生长终止。区域生长的好坏决定于1.初始点(种子点)的选取。2.生长准则。3.终止条件。区域生长是从某个或者某些像素点出发,最后得到整个区域,进而实现目标的提取。

    区域生长的原理

    区域生长的基本思想是将具有相似性质的像素集合起来构成区域。具体先对每个需要分割的区域找一个种子像素作为生长起点,然后将种子像素和周围邻域中与种子像素有相同或相似性质的像素(根据某种事先确定的生长或相似准则来判定)合并到种子像素所在的区域中。将这些新像素当作新的种子继续上面的过程,直到没有满足条件的像素可被包括进来。这样一个区域就生长成了。

    图1给出已知种子点进行区域生长的一个示例。图1(a)给出需要分割的图像,设已知两个种子像素(标为深浅不同的灰色方块),现要进行区域生长。设这里采用的判定准则是:如果考虑的像素与种子像素灰度值差的绝对值小于某个门限T,则将该像素包括进种子像素所在的区域。图1(b)给出了T=3时的区域生长结果,整幅图被较好地分成2个区域;图1(c)给出了T=1时的区域生长结果,有些像素无法判定;图1(c)给出了T=6时的区域生长的结果,整幅图都被分在一个区域中了。由此可见门限的选择是很重要的。

    a4c26d1e5885305701be709a3d33442f.png

    区域生长是一种古老的图像分割方法,最早的区域生长图像分割方法是由Levine等人提出的。该方法一般有两种方式,一种是先给定图像中要分割的目标物体内????的一个小块或者说种子区域(seed

    point),再在种子区域基础上不断将其周围的像素点以一定的规则加入其中,达到最终将代表该物体的所有像素点结合成一个区域的目的;另一种是先将图像分割成很多的一致性较强,如区域内像素灰度值相同的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的,典型的区域生长法如T. C. Pong等人提出的基于小面(facet)模型的区域生长法,区域生长法固有的缺点是往往会造成过度分割,即将图像分割成过多的区域

    区域生长实现的步骤如下:

    1. 对图像顺序扫描!找到第1个还没有归属的像素, 设该像素为(x0, y0);

    2. 以(x0, y0)为中心, 考虑(x0, y0)的4邻域像素(x,

    y)如果(x0,

    y0)满足生长准则, 将(x,

    y)与(x0, y0)合并(在同一区域内), 同时将(x, y)压入堆栈;

    3. 从堆栈中取出一个像素, 把它当作(x0, y0)返回到步骤2;

    4. 当堆栈为空时!返回到步骤1;

    5. 重复步骤1 - 4直到图像中的每个点都有归属时。生长结束。

    mean

    shift算法

    1. 简介

    Mean Shift算法本质上是最优化理论中的最速下降法(亦称梯度下降法,牛顿法等),即沿着梯度下降方法寻找目标函数的极值。在跟踪中,就是为了寻找到相似度值最大的候选目标位置。

    2. 算法的基本思想

    那么,它究竟是如何来寻找这样的相似度最大位置(最佳匹配区域)?

    我们知道从初始目标区域提取的特征,对于下一个的视频而言,其上任意位置都可以圈定出一个与初始化目标区域相同大小的区域,并提取该区域的颜色直方图特征与初始化目标区域提取的颜色直方图特征进行匹配,计算得到两个特征之间的相似度。由此,可以得到一个由特征匹配程度构成的一个相似度概率密度分布图我们真正需要寻找的就是该概率密度分布图上的最大值(与初始目标特征最相似的位置)。

    Mean

    Shift方法就是沿着概率密度的梯度方向进行迭代移动,最终达到密度分布的最值位置。其迭代过程本质上是的最速下降法,下降方向为一阶梯度方向,步长为固定值。但是,Mean

    Shift没有直接求取下降方向和步长,它通过模型的相似度匹配函数的一阶Talor展开式进行近似,直接推到迭代的下一个位置。由此,沿着梯度方向不断迭代收敛到目标相似度概率目标分布的局部极大值。

    3. 算法特点

    实际中,我们不可能去求取下一帧中所有位置的相似度。Mean

    Shift是在不知道该概率密度分布的条件下,使用迭代过程中每次选定的目标区域的局部密度特征来进行迭代的,因此,它寻找的是目标的局部极大值。这就导致目标运动过快或背景过于复杂时,迭代寻找的局部极值并不是目标在下一帧中的最佳匹配位置。另外,Mean

    Shift作为最速下降法的一种,它的收敛速度并不快,且在接近最优值时,存在锯齿现象。

    4. 图示解释

    解释:图中加入蓝色区域为设定的目标基础区域大小,且蓝色中心为原始位置。当下一帧图像来时,搜索局部区域内的目标点。通常这个目

    a4c26d1e5885305701be709a3d33442f.png

    标点是与区域内各点的权重有关系的。权重关系当然是离中心越近权重越大,越远权重越小。

    5. 例子解析

    本人文章中有一个Mean Shift 的简单类。基于统计的目标直方图进行视频跟踪。

    (1)因为目标直方图具有特征稳定,抗部分遮挡,计算方法简单和计算量小的特点。所以基于Mean Shift

    的跟踪一般采用直方图对目标进行建模,然后通过相似度量,最终实现目标的匹配和跟踪。

    (2)MeanShift

    算法是通过人机交互的方式对被跟踪目标进行初始化。起始帧,手动确定一个目标特征的区域,称为被跟踪目标的目标区域,这个目标区域也是核函数作用区域,区域的大小等于核函数的带宽(或“尺度”)。

    假定我们在彩色视频序列图像中跟踪目标,则图像的值域是RGB颜色空间,按照直方图的方式将RGB颜色空间中的每个子空间中R,G或B空间分成K个相等区间,将每个区间称为一个bin,构成特征空间,特征空间的特征值的个数为m=

    k^3。

    在以后每帧图像中可能存在目标的候选区域中对特征空间的每个特征值的计算称为候选模型的描述。一般选高斯函数或Uniform核函数。通过相似性函数度量初始帧目标模型和当前帧的候选模型的相似性,通过求相似性函数最大得到关于目标的MeanShift向量,这个向量即是目标从初始位置向正确位置转移的向量,由于MeanShift算法的收敛性,不断迭代计算MeanShift向量,在当前帧中,最终目标会收敛到目标的真实位置(可以用一个小阈值判定),从而达到跟踪的目的。

    2. 区域分裂合并

    区域分裂合并算法的基本思想是先确定一个分裂合并的准则,即区域特征一致性的测度,当图像中某个区域的特征不一致时就将该区域分裂成4 个相等的子区域,当相邻的子区域满足一致性特征时则将它们合成一个大区域,直至所有区域不再满足分裂合并的条件为止. 当分裂到不能再分的情况时,分裂结束,然后它将查找相邻区域有没有相似的特征,如果有就将相似区域进行合并,最后达到分割的作用。

    在一定程度上区域生长和区域分裂合并算法有异曲同工之妙,互相促进相辅相成的,区域分裂到极致就是分割成单一像素点,然后按照一定的测量准则进行合并,在一定程度上可以认为是单一像素点的区域生长方法。

    区域生长比区域分裂合并的方法节省了分裂的过程,而区域分裂合并的方法可以在较大的一个相似区域基础上再进行相似合并,而区域生长只能从单一像素点出发进行生长(合并)。

    反复进行拆分和聚合以满足限制条件的算法。

    令R表示整幅图像区域并选择一个谓词P。对R进行分割的一种方法是反复将分割得到的结果图像再次分为四个区域,直到对任何区域Ri,有P(Ri)=TRUE。这里是从整幅图像开始。如果P(R)=FALSE,就将图像分割为4个区域。对任何区域如果P的值是FALSE.就将这4个区域的每个区域再次分别分为4个区域,如此不断继续下去。这种特殊的分割技术用所谓的四叉树形式表示最为方便(就是说,每个非叶子节点正好有4个子树),这正如图10.42中说明的树那样。注意,树的根对应于整幅图像,每个节点对应于划分的子部分。此时,只有R4进行了进一步的再细分。

    a4c26d1e5885305701be709a3d33442f.png

    如果只使用拆分,最后的分区可能会包含具有相同性质的相邻区域。这种缺陷可以通过进行拆分的同时也允许进行区域聚合来得到矫正。就是说,只有在P(Rj∪Rk)=TRUE时,两个相邻的区域Rj和Rk才能聚合。

    前面的讨论可以总结为如下过程。在反复操作的每一步,我们需要做:

    l.对于任何区域Ri,如果P(Ri)=FALSE,就将每个区域都拆分为4个相连的象限区域。

    2.将P(Rj∪Rk)=TRUE的任意两个相邻区域Rj和Rk进行聚合。

    3.当再无法进行聚合或拆分时操作停止。

    可以对前面讲述的基本思想进行几种变化。例如,一种可能的变化是开始时将图像拆分为一组图象块。然后对每个块进一步进行上述拆分,但聚合操作开始时受只能将4个块并为一组的限制。这4个块是四叉树表示法中节点的后代且都满足谓词P。当不能再进行此类聚合时,这个过程终止于满足步骤2的最后的区域聚合。在这种情况下,聚合的区域可能会大小不同。这种方法的主要优点是对于拆分和聚合都使用同样的四叉树,直到聚合的最后一步。

    例10.17

    拆分和聚合

    图10.43(a)显示了一幅简单的图像。如果在区域Ri内至少有80%的像素具有zj-mi≤2σi的性质,就定义P(Ri)=TRUE,这里zj是Ri内第j个像素的灰度级,mi是区域Ri的灰度级均值,σi是区域Ri内的灰度级的标准差。如果在此条件下,P(Ri)=TRUE,则设置Ri内的所有像素的值等于mi。拆分和聚合使用前速算法的要点完成。将这种技术应用于图10.43(a)所得结果示于图10.43(b)。请注意,图像分割效果相当好。示于图10.43(c)中的图像是通过对图10.43(a)进行门限处理得到的,门限值选在直方图中两个主要的尖峰之间的中点。经过门限处理,图像中生成的阴影(和叶子的茎)被错误地消除了。a4c26d1e5885305701be709a3d33442f.png

    如前面的例子中所使用的属性那样,我们试图使用基于区域中像素的均值和标准差的某些特性对区域的纹理进行量化(见11.3.3节中关于纹理的讨论)。纹理分割的概念是以在谓词P(Ri)中使用有关纹理的量度为基础的。就是说,通过指定基于纹理内容的谓词,我们可以使用本节中讨论的任何方法进行纹理分割。

    a4c26d1e5885305701be709a3d33442f.png

    1.

    把一幅图像分成4份,计算每一份图像的最大灰度值与最小灰度值的差,

    如果差在误差范围值外,则该份图像继续分裂。

    2.

    对于那些不需要分裂的那些份图像可以对其进行阈值切割了,例如某一块图像的最大灰度大于某个值,则该块图像变成255,否则变为0。

    展开全文
  • 区域生长是图像分割技术的一种,基本思想是将具有相似性的像素集合起来构成区域
  • 区域生长的基本思想是将具有相似性质的像素集中起来构建成分割区域。以一组种子点开始,将与种子性质相似(如灰度级)的领域像素附加到生长区域的每个种子上 算法步骤 a.随机选取图像中的一个像素作为种子像素,并...

    目录

    基于区域的图像分割方法

    区域生长法

    算法步骤

    区域分裂与合并

    阈值分割

    区域合并

    实现区域生长法

    代码

     分割结果


    基于区域的图像分割方法

    基于区域的分割是以直接寻找区域为基础的分割技术,实际上类似基于边界的图像分割技术一样利用了对象与背景灰度分布的相似性。

    基于区域的图像分割方法可以分为四类:

    1. 区域生长法
    2. 区域分裂与合并
    3. 阈值分割
    4. 区域合并

    区域生长法

    区域生长的基本思想是将具有相似性质的像素集中起来构建成分割区域。以一组种子点开始,将与种子性质相似(如灰度级)的领域像素附加到生长区域的每个种子上

    算法步骤

    a.随机选取图像中的一个像素作为种子像素,并将其表示出来

    b.检索种子附近的未被标记的像素点,如果他们的差值在所规定的阈值内(阈值需要根据不同的情况进行设置),则合并到分割区域中

    c.重复b步骤,直到区域停止扩张,并在此时再次随机选择非选定区域的一个像素做为种子像素

    d.重复上述步骤,直到图像中的每个像素均被分配到不同的区域中

    种子产生的方法

    根据所解决问题的性质选择一个或多个起点
    若无先验信息,则对每个像素计算相同的特性集,特性集在生长过程中用于将像素归属于某个区域
    若这些计算的结果呈现了不同簇的值,则簇中心附近的像素可以作为种子
     终止规则

    若没有像素满足加入到某个区域的条件时,则区域停止生长,终止规则的制定需要先验知识或先验模型。

    相似度准则

    灰度级类似准则
    纹理类似准则
    颜色类似准则

    区域分裂与合并

    区域分裂与合并算法的基本思路类似于微分,即无穷分割,然后将分割后满足相似度准则的区域进行合并。

    阈值分割

    阈值分割主要运用于灰度图像的分割。如果一张灰度图中目标和背景之间的灰度值有差异,则可以通过阈值分割的方法把图中的目标和背景分开。如果只选取一个阈值的分割被称为单阈值分割,会将图像分割成目标和背景两部分;如果选取多个阈值的分割被称为多阈值分割,会将图形分割成多个区域。

    区域合并

    区域合并可以看做区域生长的逆向过程,从整个图像出发,不断分割出子区域

    实现区域生长法

    对图像进行分割,得到脑部的单独图像。

    代码

    from PIL import Image
    import matplotlib.pyplot as plt  # plt 用于显示图片
    import numpy as np
    
    im = Image.open('D:/PICS/Marker.png')  # 读取图片
    im_array = np.array(im)
    print(im_array)
    [m, n] = im_array.shape
    a = np.zeros((m, n))  # 建立等大小空矩阵
    a[100, 100] = 1  # 设立种子点
    k = 40  # 设立区域判断生长阈值
    flag = 1  # 设立是否判断的小红旗
    while flag == 1:
    	flag = 0
    	lim = (np.cumsum(im_array * a)[-1]) / (np.cumsum(a)[-1])
    	for i in range(2, m):
    		for j in range(2, n):
    			if a[i, j] == 1:
    				for x in range(-1, 2):
    					for y in range(-1, 2):
    						if a[i + x, j + y] == 0:
    							if (abs(im_array[i + x, j + y] - lim) <= k):
    								flag = 1
    								a[i + x, j + y] = 1
    
    data = im_array * a  # 矩阵相乘获取生长图像的矩阵
    new_im = Image.fromarray(data)  # data 矩阵转化为二维图片
    # 画图展示
    plt.subplot(1, 2, 1)
    plt.imshow(im, cmap='gray')
    plt.axis('off')  # 不显示坐标轴
    # plt.show()
    plt.subplot(1, 2, 2)
    plt.imshow(new_im, cmap='gray')
    plt.axis('off')  # 不显示坐标轴
    plt.show()

     分割结果

    展开全文
  • 基于区域和基于边缘的图像分割

    千次阅读 2022-03-23 18:09:02
    图像分割是将图像分割成不同的区域或类别,并使这些区域或类别对应于不同的目标或者局部目标。每个区域包含具有相似属性的像素,并且图像中的每个像素都分配给这些类别之一。一个好的图像分割通常指同一类别的像素...

    1、图像分割的概念

    图像分割是将图像分割成不同的区域或类别,并使这些区域或类别对应于不同的目标或者局部目标。每个区域包含具有相似属性的像素,并且图像中的每个像素都分配给这些类别之一。一个好的图像分割通常指同一类别的像素具有相似的强度值并形成一个连通区域,而相邻的不同类别的像素具有不同的值。分割技术可以是非上下文的(不考虑图像中特征和组像素之间的空间关系,只考虑一些全局属性,例如颜色或灰度值),也可以是上下文的(另外利用空间关系,例如对具有相似灰度的空间封闭像素分组)。

    从分割的技术来说,图像分割方法主要分为两类:1.基于区域的方法:通过利用图像中同一区域的均匀性来识别不同的区域。2.基于边缘的方法:基本思路为先确定不同区域的边缘像素,然后将这些边缘像素连接起来,形成不同的分割区域。

    2、基于边缘的图像分割方法

    2.1 边缘检测分割

    在本例中,我们将尝试使用基于边缘的分割来描绘硬币的轮廓。为此,先使用Canny边缘检测器获取特征的边缘,如下面的代码所示:

    edges = canny(coins, sigma=2)
    fig, axes = pylab.subplots(figsize=(10, 6))
    axes.imshow(edges, cmap=pylab.cm.gray, interpolation='nearest')
    axes.set_title('Canny detector'), axes.axis('off'), pylab.show()
    

    运行上述代码,使用Canny边缘检测器得到的硬币轮廓如图所示:

    然后使用scipy ndimage模块中的形态学函数binary_fill_holes()填充这些轮廓,如下面的代码所示:
    from scipy import ndimage as ndi
    fill_coins = ndi.binary_fill_holes(edges)
    fig, axes = pylab.subplots(figsize=(10, 6))
    axes.imshow(fill_coins, cmap=pylab.cm.gray, interpolation='nearest')
    axes.set_title('filling the holes'), axes.axis('off'), pylab.show()
    
    可以看得出这种方法并不是很健壮,因为没有完全闭合的轮廓没有被正确填充,如上图中还有一枚没有填充的硬币一样。
    2.2 阈值分割

    阈值分割主要运用于灰度图像的分割。如果一张灰度图中目标和背景之间的灰度值有差异,则可以通过阈值分割的方法把图中的目标和背景分开。如果只选取一个阈值的分割被称为单阈值分割,会将图像分割成目标和背景两部分;如果选取多个阈值的分割被称为多阈值分割,会将图形分割成多个区域。
    这种阈值方法很常见的应用就是二值化,优点是:简单,通常运用在图像预处理阶段,如在CT图像中对于肺部组织的提取等。当然缺点也比较突出:对于多通道图像,特征值相差不大的图像,或者灰度值范围有较大重叠的图像分割效果较差。

    在此特地提出大津法,二值化方法使用这么久一直都没有研究最合适的阈值选取问题,大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出。从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景图像的类间方差最大。
    大津法本质就是将1-255的阈值逐一尝试,可以参考大津法

    3、基于区域的图像分割方法

    3.1 形态学分水岭算法

    任何灰度图像都可以看作一个地形地貌面。如果这个面从它的最小值被淹没,并且阻止了不同来源的水的汇合,那么图像就被分割成两个不同的集合,即集水盆和分水岭线。如果将这种变换应用于图像梯度,在理论上集水盆应与图像的同质的灰度区域(片段)相对应。

    然而,在实际应用中,由于梯度图像中存在噪声或局部不规则性,使用变换会对图像进行过度分割。为了防止过度分割,使用一组预定义标记,并从这些标记开始对地表面进行注水淹没。因此,通过分水岭变换分割图像的步骤如下:
    (1)找到标记和分割准则(用于分割区域的函数,通常是图像对比度/梯度);
    (2)利用这两个元素运行标记控制的分水岭算法。
    现在,使用scikit-image中的形态学分水岭算法实现从图像的背景中分离出前景硬币。首先,使用图像的sobel梯度找到图像的高程图,如下面的代码所示:

    elevation_map = sobel(coins)
    fig, axes = pylab.subplots(figsize=(10, 6))
    axes.imshow(elevation_map, cmap=pylab.cm.gray, interpolation='nearest')
    axes.set_title('elevation map'), axes.axis('off'), pylab.show()
    

    运行上述代码,输出高程图,如图所示:

    紧接着,基于灰度值直方图的极值部分,计算背景标记和硬币标记,如下面的代码所示:
    markers = np.zeros_like(coins)
    markers[coins < 30] = 1
    markers[coins > 150] = 2
    print(np.max(markers), np.min(markers))
    fig, axes = pylab.subplots(figsize=(10, 6))
    a = axes.imshow(markers, cmap=plt.cm.hot, interpolation='nearest')
    plt.colorbar(a)
    axes.set_title('markers'), axes.axis('off'), pylab.show()
    

    最后,利用分水岭变换,从确定的标记点开始注入高程图的区域,如下面的代码所示:

    segmentation = morphology.watershed(elevation_map, markers)
    fig, axes = pylab.subplots(figsize=(10, 6))
    axes.imshow(segmentation, cmap=pylab.cm.gray, interpolation='nearest')
    axes.set_title('segmentation'), axes.axis('off'), pylab.show()
    

    运行上述代码,输出使用形态学分水岭算法进行分割后所得到的二值图像,如图所示。

    3.2 区域生长算法

    主要是参考的博客 区域增长算法
    基于区域的分割方法
    感觉在具体使用过程中,使用方法与聚类思想非常类似:1、区域生长:区域生长的基本思想是将具有相似性质的像素集中起来构建成分割区域。先确定种子点,再由种子点不断地向四周扩张生成;2、区域合并:区域合并可以看做区域生长的逆向过程,从整个图像出发,不断分割出子区域;直观上就是图片所有像素都有label,然后对临近的label进行合并;3、区域分裂合并:综合以上两种手段吧。

    展开全文
  • 针对现有 图像 多阈值分割方法存在的分割不够准确、计算复杂度较 高等问题 ,利用 Otsu多阈值 分割思想 ,提 出一种基于聚类和局部区域的彩色图像多闽值分割方法。获取彩色图像的H分量直方图;在综合考虑以 H分量...
  • 1. 区域生长区域增长方法是根据同一物体区域内象素的相似性质来聚集象素点的方法,从初始区域(如...区域增长方法是一种比较普遍的方法,在没有先验知识可以利用时,可以取得最佳的性能,可以用来分割比较复杂的图象...
  • 文章目录1. 区域归并2. 区域分裂3. 分裂与归并4. 分水岭分割5. 区域增长后处理匹配1. 模板匹配2. 模板匹配的控制策略分割的评测...一致性是区域的一个重要性质,在区域增氏中用作主要的分割准则,它的基本思想是将图
  • 区域生长法图像分割

    千次阅读 2021-01-18 17:13:30
    传统的区域分割方法有区域生长和区域分裂与合并,其中最基础的是区域生长法。 区域生长法 区域生长是根据事先定义的准则将像素或者子区域聚合成更大区域的过程。其基本思想是从一组生长点开始(生长点可以是单个像素...
  • 利用子块区域分割思想和自嵌入技术提出了一种只利用攻击图像就能进行版权鉴别和内容认证的全盲多功能图像水印算法。将原始图像分割成不重叠的子块,对每个子块进行离散余弦变换,将每个子块离散余弦变换矩阵分成为...
  • 基于区域生长的图像分割算法及其实现曾春玲,2011441794(重庆科技学院测控2011-02)摘要:图像分割的目的是将图像划分为不同的区域,基于区域生长是以直接找寻区域为基础的分割技术。是图像处理和计算机视觉的基本...
  • 主要介绍了python基于K-means聚类算法的图像分割,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 【Opencv】图像分割——区域生长

    千次阅读 2022-03-29 21:49:45
      区域生长的基本思想是将具有相似性质的像素集合起来构成区域。具体先对每个需要分割区域找一个种子像素作为生长的起点,然后将种子像素周围邻域中与种子像素具有相同或相似性质的像素(根据某种事先确定的生长...
  • 1、区域生长是一种串行区域分割图像分割方法。区域生长的基本思想是将具有相似性质的像素集合起来构成区城。区城增长方法根据同一物体区城内像素的相似性质来聚集象素点的方法,从初始区城(如小邻城或单个象素)...
  • 图像分割

    2022-03-28 17:37:45
    图像分割引言图像分析系统的基本结构图像分割的概念图像分割的应用邻域图像分割的意义图像分割基本思路图像分割方法分类图像分割基本策略一、点、线和边缘检测点的检测-用空域的高通滤波器来检测孤立点线检测...
  • 区域生长是一种串行区域分割图像分割方法。区域生长是指从某个像素出发,按照一定的准则,逐步加入邻近像素,当满足一定的条件时,区域生长终止。区域生长的好坏决定于1.初始点(种子点)的选取。2.生长准则。3....
  • 肿瘤区域图像分割

    千次阅读 2019-12-24 12:14:35
    肿瘤分割任务由于个体间形状、纹理等差异大,从而实现更加困难。本文就来分析一下,肿瘤分割任务。 在传统医学诊断中,专家的判断几乎是一个决定性的考量因素。即使在深度学习和人工智能快速发展的今天,医学诊断...
  • 图像分割-连通区域分析

    千次阅读 2018-06-21 11:33:58
    转自:https://blog.csdn.net/icvpr/article/details/10259577OpenCV_连通区域分析(Connected Component Analysis/Labeling)【摘要】本文主要介绍在CVPR和图像处理领域中较为常用的一种图像区域(Blob)提取的方法...
  • 区域生长的基本思想是将具有相似性质的像素集合起来构成一个区域,实质是将具有相似特性的像素元素连接成区域。具体实现时,先在分割区域找一个种子像素作为生长的起点,再将种子像素周围邻域中与种子像素有相同或...
  • Halcon图像分割-区域提取

    千次阅读 2022-04-25 15:29:22
    提示:文章参考了网络上...区域生长法的基本思想是,在图像上选定一个“种子”像素或“种子”区域,然后从“种子”的邻域像素开始搜索,将灰度或者颜色相近的像素附加在“种子”上,最终将代表同一物体的像素全部归.
  • 学习DIP第58天 转载请标明本文出处:... 更多图像处理机器学习内容请访问最新网站www.tony4ai.com 开篇废话 继续说废话,昨天写博客被同事看到了,问我,为什么你每一篇...
  • 代码的功能是通过迭代法实现阈值的分割,阈值分割思想和原理若图像中目标和背景具有不同的灰度集合:目标灰度集合与背景灰度集合,且两个灰度集合可用一个灰度级阈值T进行分割。这样就可以用阈值分割灰度级的方法在...
  • 图像分割-区域生长算法的实现

    千次阅读 2020-08-13 21:57:51
    采用区域生长法作为图像分割方法,它的基本原理是将相同特征的像素点归为一类。并且这些特征在针对具体应用的实现中可以是灰度值、像素梯度等(同时作为比较的对象,即可以选择最初的种子,也可以动态选择邻域的中心...
  • 图像分割方法

    千次阅读 2022-01-09 18:54:54
    图像分割
  • 提出一种基于高斯统计模型的快速图像区域分割算法,与已有的一些图像区域分割算法相比,该方法不用图像去噪,直接利用噪声建立高斯统计模型,还采用最大最小值的方法,提出初始分割的思想。实验结果表明新方法增强了分割...
  • 图像分割算法综述概括性介绍了传统的图像分割算法包括区域生长法、分水岭算法等,同时也介绍了结合特定工具如小波分析、小波变换、遗传算法等进行图像分割的方法,最后采用深度学习进行图像分割
  • matlab区域增长法分割图像例子

    万次阅读 多人点赞 2015-11-01 12:48:17
    其优点是基本思想相对简单,通常能将具有相同特征的联通区域分割出来,并能提供很好的边界信息和分割结果。在没有先验知识可以利用时,可以取得最佳的性能,可以用来分割比较复杂的图象,如自然景物。 但是,区域...
  • 图像进行颜色区域分割.将图像转换到CIE L*a*b颜色空间,用K均值聚类分析算法对描述颜色的a*和b*通道进行聚类分析;通过提取各个颜色区域独立成为单色的新图像,对图像进行分割处理.实验结果表明,在CIE L*a*b空间使用K...
  • 4.1图像分割区域生长法

    万次阅读 多人点赞 2018-08-04 16:37:39
    传统的区域分割方法有区域生长和区域分裂与合并, 其中最基础的是区域生长法。 区域生长法  区域生长是根据事先定义的准则将像素或者子区域聚合成更大区域的过程。其基本思想是从一组生长点开始...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,136
精华内容 11,654
关键字:

区域分割图像的基本思想