我有一张.png
格式的800MB高分辨率图像。我想创建一个由较小图像组成的训练集,例如 15-20 张图像。我如何使用一些简单的方法在python/matlab中做到这一点?
我认为目前最好的方法是skimage.util.view_as_blocks
.
import numpy as np
from skimage.util.shape import view_as_blocks
A = np.arange(4*4).reshape(4,4)
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
B = view_as_blocks(A, block_shape=(2, 2))
B[0, 0]
上一行将选择第 0 行第 0 列的正方形:
array([[0, 1],
[4, 5]])