Python 如何扩展numpy阵列?
我正在执行图像分析,并以布尔Python 如何扩展numpy阵列?,python,numpy,Python,Numpy,我正在执行图像分析,并以布尔数组的形式生成种子: 将numpy导入为np #示例输出阵列 a=np.array([[False,False,False],[False,True,False],[False,False,False]] >>>a 数组([[False,False,False], [假,真,假], [假,假,假]] 当我想对True值周围的区域进行后续分析时,我想将其展开(以一定的数量,比如像素)。这将导致以下情况: >>a 数组([[False,True,False], [真的,
数组的形式生成种子:
将numpy导入为np
#示例输出阵列
a=np.array([[False,False,False],[False,True,False],[False,False,False]]
>>>a
数组([[False,False,False],
[假,真,假],
[假,假,假]]
当我想对True
值周围的区域进行后续分析时,我想将其展开(以一定的数量,比如像素)。这将导致以下情况:
>>a
数组([[False,True,False],
[真的,真的,真的],
[假,真,假]]
是否有任何函数
或简单的方法来解决我的“径向膨胀”问题
提前感谢,,
BBQuercus我建议的一种简单方法是创建一个较大的数组,并将较小的数组嵌入其中,如中所述:
我刚开始尝试回答有关stackoverflow的问题,所以我是个初学者。
因此,如果我的答案太简单或不是您想要的答案,请原谅。解决方案包括:
为什么不干脆用呢
结果:
>>> a
array([[False, False, False],
[False, True, False],
[False, False, False]])
>>> b
array([[False, True, False],
[ True, True, True],
[False, True, False]])
不幸的是,我无法将其嵌入到更大的阵列中–我在所有图像上都有相同的图像大小(像素)。因此,嵌入将扭曲/阻碍进一步的分析。我也许还能用上一些。谢谢
import numpy as np
from scipy import ndimage
a = np.array([[False, False, False], [False, True, False], [False, False, False]])
b = ndimage.binary_dilation(a, [[False, True, False], [True, True, True], [False, True, False]])
>>> a
array([[False, False, False],
[False, True, False],
[False, False, False]])
>>> b
array([[False, True, False],
[ True, True, True],
[False, True, False]])