区域合并方法 您所在的位置:网站首页 halcon合并相邻区域合并 区域合并方法

区域合并方法

2024-03-26 22:18| 来源: 网络整理| 查看: 265

区域合并

区域合并方法将合并具有相似性的相邻区域。 步骤如下: (1)图像初始区域分割:在极端情况下,可以认为每个像素为一个小区域。 (2)确定相似性准则:可以基于相邻区域的灰度、颜色、纹理等参量来比较。 (3)判断图像中的相邻区域是否满足相似性准则,相似则合并,不断重复,直到没有区域可以合并为止。

这里Python实现:

1、合并相邻相似区域 初始情况:认为每个像素为一个小区域; 确定相似性准则:相邻区域最小像素差小于等于某个阈值,若满足则合并,即给当前点赋予对应的邻点的区域标签;否则赋予一个新的区域标签。 (为了方便: 相邻区域:左上、上、右上、左 从左到右,从上到下,对每个像素进行判断。)

2、分为n块区域 计算每个区域的像素均值; 将最小值和最大值之间平均分为n个区间;(这里存在一些问题:可能不符合图像的特征;可能有的bin为空,使实际分出的区域数小于n。) 每个区间对应一个新的区域。

import numpy as np import matplotlib.pyplot as plt import matplotlib.image as mpimg # 1、区域合并算法(合并相邻,相似区域) # 初始情况:每个像素都是一块小区域 # 相似性准则:相邻区域灰度均值差小于等于diff # 将左上角第一个点的区域设为1,其余为0,表示未标记;从左到右、从上到下循环判断图像中的点,判断每一点 # 与其左上、上、右上、左邻点的灰度距离;4个距离中最小的若符合合并规则,将对应邻点的标记赋予当前点; # 若没有相似的点,则赋予当前点新的标记 def CreateRegions(Image,diff,neighbors=[[-1,-1],[-1,0],[-1,1],[0,-1]]): ''' 将每个像素视为一个区域,从左到右,从上到下依次进行区域合并 Parameters ---------- Image : array 2D-array Image. neighbors : list default : Upper left,upper middle,upper right,left diff : int The threshold of merging. If the difference


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有