考虑二维阵列
>>> A = np.array(range(16)).reshape(4, 4)
>>> A
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
我想构造一个函数f(I,j),它用周期性边界条件从a[I,j]周围的元素中提取一个3x3块。你知道吗
例如,非边界元素
>>> f(1,1)
array([[ 0, 1, 2],
[ 4, 5, 6],
[ 8, 9, 10]])
边界元素是
>>> f(0,0)
array([[15, 12, 13],
[ 3, 0, 1],
[ 7, 4, 5]])
当窗口接近但不环绕周期边界时查看。你知道吗
>>> from skimage.util.shape import view_as_windows
>>> view_as_windows(A,(3,3))
array([[[[ 0, 1, 2],
[ 4, 5, 6],
[ 8, 9, 10]],
[[ 1, 2, 3],
[ 5, 6, 7],
[ 9, 10, 11]]],
[[[ 4, 5, 6],
[ 8, 9, 10],
[12, 13, 14]],
[[ 5, 6, 7],
[ 9, 10, 11],
[13, 14, 15]]]])
在这种情况下,视为视窗(A)[0,0]==f(1,1),但f(0,0)不在视为视窗(A)中。我需要一个view_as_windows(a)类型的数组,它的元素数与a相同,其中每个元素都有形状(3,3)
只需使用^{} 填充} -
wrapping
功能,然后使用Scikit's ^{样本运行-
相关问题 更多 >
编程相关推荐