美文网首页
[Python]寻找某个区域的边界

[Python]寻找某个区域的边界

作者: Ytlu | 来源:发表于2021-10-10 14:39 被阅读0次

寻找区域的边界

coords是一个graph中分析出来的某个区域块的坐标

输出值是该区域的边界的坐标

def find_boundary(coords, graph):
    '''
    找到每个指定区域的boundary的坐标值
    Input:
        1. coords: 
            numpy.ndarray, 待分析区域的坐标合集
        2. graph:
            numpy.ndarray, 关注的研究区域上mcs的Tb array
    Output:
        1. boundary_coords:
            numpy.ndarray,待分析区域的边界坐标合集
    '''
    _graph = np.zeros(np.shape(graph), dtype = np.uint8)
    _graph[coords[:,0],coords[:,1]] = graph[coords[:,0],coords[:,1]].copy()
    distance = ndimage.distance_transform_edt(_graph)   #核心语句
    distance[distance != 1] = 0        #非边缘部分设置为黑色
    distance[distance == 1] = 255      #边缘部分设置为白色
    boundary_coords = np.array(np.where(distance==255)).T
    
    return boundary_coords

相关文章

网友评论

      本文标题:[Python]寻找某个区域的边界

      本文链接:https://www.haomeiwen.com/subject/wbyqoltx.html