【发布时间】:2021-02-18 04:21:11
【问题描述】:
我有一个以 nd-array 表示的图像。假设它的形状是(256, 256, 3)。
我希望将图像切成子数组,每个子数组的大小为 (128, 128, 3),步幅为 64。
我执行以下操作以获得所需的索引:
for x1, x2 in (zip(range(0, 257, 64), range(128, 257, 64))):
for y1, y2 in (zip(range(0, 257, 64), range(128, 257, 64))):
print("rows:",x1,x2,", columns:",y1,y2)
我得到以下要切片的索引:
rows: 0 128 , columns: 0 128
rows: 0 128 , columns: 64 192
rows: 0 128 , columns: 128 256
rows: 64 192 , columns: 0 128
rows: 64 192 , columns: 64 192
rows: 64 192 , columns: 128 256
rows: 128 256 , columns: 0 128
rows: 128 256 , columns: 64 192
rows: 128 256 , columns: 128 256
现在我可以对每个子数组进行切片并将其堆叠,此外,我希望在对每个子数组进行一些操作并取平均值之后再次堆叠切片。
我想知道是否有更聪明的方法可以将它用于多个步幅/图像大小。
【问题讨论】:
标签: python numpy multidimensional-array slice