您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python是否等效于Matlab函数“填充”的灰度?

Python是否等效于Matlab函数“填充”的灰度?

此处已在Python中实现了洪水填充算法的两个版本:

http://arcgisandpython.blogspot.de/2012/01/python-flood-fill- algorithm.html

一个简单的变量包含两个未定义的变量,但这是一个有效的版本:

import numpy as np
import scipy as sp
import scipy.ndimage

def flood_fill(test_array,h_max=255):
    input_array = np.copy(test_array) 
    el = sp.ndimage.generate_binary_structure(2,2).astype(np.int)
    inside_mask = sp.ndimage.binary_erosion(~np.isnan(input_array), structure=el)
    output_array = np.copy(input_array)
    output_array[inside_mask]=h_max
    output_old_array = np.copy(input_array)
    output_old_array.fill(0)   
    el = sp.ndimage.generate_binary_structure(2,1).astype(np.int)
    while not np.array_equal(output_old_array, output_array):
        output_old_array = np.copy(output_array)
        output_array = np.maximum(input_array,sp.ndimage.grey_erosion(output_array, size=(3,3), footprint=el))
    return output_array
python 2022/1/1 18:38:39 有250人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶