Numpy用索引数组对多个2D范围进行切片

Faqinghere

给定Nx2个N点数组([row,col]):

points = np.array([
  [r1, c1],
  [r2, c2],
  ...
])

给定一个2D矩阵,我要对其进行操作:

img = np.arange(400).reshape(20,20)

我正在寻找一种有效的方法来获取img使用索引的2D切片

因此,如果我要给定高度h和宽度的切片w,则伪代码为:

p_rows = points[:,0]
p_cols = points[:,1]
patches = img[p_rows:p_rows+h, p_cols:p_cols+w]

这样结果将是一个Nxhxw矩阵。但是,可惜,这次广播并没有拯救我。

我已经看了np.r_np.selectnp.lib.stride_tricks.as_stridednp.take...但没有任何运气呢。

迪卡卡

我们可以利用np.lib.stride_tricks.as_strided基础scikit-image's view_as_windows来获得滑动窗口。有关使用as_stridedbased的更多信息view_as_windows然后,使用来自这些索引的高级索引来索引到这些窗口中,points从而为我们解决了问题!

from skimage.util.shape import view_as_windows

w = view_as_windows(img,(h,w))
out = w[points[:,0],points[:,1]]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在numpy中获取3D数组的2D切片的平均值

来自分类Dev

用numpy中的2D ndarray切片3D ndarray?

来自分类Dev

如何切片和扩展2D numpy数组?

来自分类Dev

如何通过列索引列表对numpy数组进行切片

来自分类Dev

两个数组的对应2d切片的相乘和数组切片的求逆

来自分类Dev

根据条件切片2D numpy数组

来自分类Dev

索引/切片numpy数组的混乱

来自分类Dev

使用range / arange函数作为参数对2d numpy数组进行索引/切片

来自分类Dev

如何获取numpy数组中最大的2d切片?

来自分类Dev

切片并用1d列索引数组填充2d数组

来自分类Dev

numpy切片功能:从数组形状为(X,2)的数组中动态创建切片索引np.r_ [a:b,c:d,...]

来自分类Dev

如何在不进行迭代的情况下基于成对的开始/结束索引定义numpy数组的多个切片?

来自分类Dev

在多维numpy数组的每个索引处切片不同的范围

来自分类Dev

反转具有多个切片对象的2D NumPy数组

来自分类Dev

用切片列表索引numpy数组

来自分类Dev

2D阵列切片

来自分类Dev

在numpy TypeError中获取数组的元素:无法进行切片索引

来自分类Dev

Python:使用Numba时将2d NumPy数组切片以生成C阶数组

来自分类Dev

Python 2D数组列表索引必须是整数或切片,而不是元组

来自分类Dev

通过(2d的不同范围)切片列表进行张量流更改/分配矩阵元素值

来自分类Dev

2D切片混乱

来自分类Dev

基于2D数组的3D numpy切片的平均值

来自分类Dev

如何基于包含初始索引和最终索引的2个1D数组对2D numpy数组进行切片

来自分类Dev

如何通过列索引列表对numpy数组进行切片

来自分类Dev

两个数组的对应2d切片的相乘和数组切片的求逆

来自分类Dev

用元组数组进行Numpy 2d索引,可能还进行Nd索引

来自分类Dev

在PHP中切片2D数组

来自分类Dev

使用切片的numpy数组索引numpy数组

来自分类Dev

使用 Numpy 对多维数组进行切片/索引

Related 相关文章

  1. 1

    在numpy中获取3D数组的2D切片的平均值

  2. 2

    用numpy中的2D ndarray切片3D ndarray?

  3. 3

    如何切片和扩展2D numpy数组?

  4. 4

    如何通过列索引列表对numpy数组进行切片

  5. 5

    两个数组的对应2d切片的相乘和数组切片的求逆

  6. 6

    根据条件切片2D numpy数组

  7. 7

    索引/切片numpy数组的混乱

  8. 8

    使用range / arange函数作为参数对2d numpy数组进行索引/切片

  9. 9

    如何获取numpy数组中最大的2d切片?

  10. 10

    切片并用1d列索引数组填充2d数组

  11. 11

    numpy切片功能:从数组形状为(X,2)的数组中动态创建切片索引np.r_ [a:b,c:d,...]

  12. 12

    如何在不进行迭代的情况下基于成对的开始/结束索引定义numpy数组的多个切片?

  13. 13

    在多维numpy数组的每个索引处切片不同的范围

  14. 14

    反转具有多个切片对象的2D NumPy数组

  15. 15

    用切片列表索引numpy数组

  16. 16

    2D阵列切片

  17. 17

    在numpy TypeError中获取数组的元素:无法进行切片索引

  18. 18

    Python:使用Numba时将2d NumPy数组切片以生成C阶数组

  19. 19

    Python 2D数组列表索引必须是整数或切片,而不是元组

  20. 20

    通过(2d的不同范围)切片列表进行张量流更改/分配矩阵元素值

  21. 21

    2D切片混乱

  22. 22

    基于2D数组的3D numpy切片的平均值

  23. 23

    如何基于包含初始索引和最终索引的2个1D数组对2D numpy数组进行切片

  24. 24

    如何通过列索引列表对numpy数组进行切片

  25. 25

    两个数组的对应2d切片的相乘和数组切片的求逆

  26. 26

    用元组数组进行Numpy 2d索引,可能还进行Nd索引

  27. 27

    在PHP中切片2D数组

  28. 28

    使用切片的numpy数组索引numpy数组

  29. 29

    使用 Numpy 对多维数组进行切片/索引

热门标签

归档