サイズが numpy の配列があり240 x 320 x 3、ウィンドウ (ウィンドウ サイズws=5) を使用して各ピクセルをスライドさせ、そのピクセルを中心とするサブ配列を切り取りたいと考えています。最終的な出力次元は です240 x 320 x ws x ws x 3。そのため、元の配列をウィンドウ サイズでパディングし、そのfor loopために使用します。
height = 240
width = 320
image = np.random.rand((height, width, 3))
image = np.pad(image, ((ws//2, ws//2), (ws//2, ws//2), (0, 0)), mode='reflect')
patches = np.zeros((height, width, ws, ws, 3))
for i in range(height):
for j in range(width):
patches[i, j] = image[i:i+ws, j:j+ws]
サンプル時に各ピクセルのトリミングを行う方法はありますか? for loop各ピクセルを使用せずに好きですか?