Scipy.ndimage--膨胀(多维图像)

本节重点介绍形态学处理---膨胀

膨胀运算是将与某物体(白色区域)接触的所有背景像素(黑色区域)合并到该物体中的过程。

scipy.ndimage.binary_dilation(input, structure=None, iterations=1, mask=None, output=None, border_value=0, origin=0, brute_force=False)

描述:膨胀运算是将与某物体(白色区域)接触的所有背景像素(黑色区域)合并到该物体中的过程。(在二维图像中,默认使用四连通进行膨胀处理,通过structure参数可以指定其他的结构元素,例如,八连通膨胀运算:binary_dilation(a, structure=[[1,1,1],[1,1,1],[1,1,1]]))

参数:

  • input:二进制图像矩阵;
  • structure:类型:array_like(矩阵)---用于膨胀的结构元素,默认为等于1的方形连接元素;
  • iterations : 类型:int, float(整型/浮点型)---腐蚀重复的次数,默认为1,如果迭代小于1,则重复膨胀,直到结果不再改变为止;
  • mask:类型:array_like(矩阵)---如果给出掩码,则在每次迭代时仅修改在相应掩码元素处具有True值的那些元素;
  • output:类型:array_like(矩阵)---与输入相同形状的数组,输出放入其中。默认情况下,会创建一个新的数组;
  • border_value:类型:int(强制转换为0/1)---输出数组中边框的值;
  • origin:类型:int/tuple(整型/元组)---过滤器的位置,默认为0;
  • brute_force:类型:boolean(布尔型)---内存条件:如果为Flase,则仅跟踪在最后一次迭代中值已更改的像素作为当前迭代中要更新(腐蚀)的候选项;如果为True,则所有像素都被视为腐蚀的候选值,无论前一次迭代中发生了什么。

返回值:ndarray of boolean(布尔型矩阵)

范例:

注意:膨胀输入的masks需要与structure的维度相匹配(三维对三维,二维对二维);直接腐蚀输出的数据类型为布尔型。

猜你喜欢

转载自blog.csdn.net/songchunxiao1991/article/details/88310777