如果这太笼统,我道歉。我在scikit中使用PatchExtractor函数 - 学习将图像 - 一个size =(n_images x image_height x image_width)的数组转换为补丁,因此生成的数组的大小为=(n_patches,patch_height,patch_width)。
然而,通过这个功能,我忘记了哪个补丁来自哪个图像,这对于以后的管道非常重要。有没有办法跟踪补丁来自的图像?
答案 0 :(得分:1)
补丁是按顺序从图像中提取的,因此,如果您知道图像和补丁的数量,您可以知道哪个补丁来自哪个图像:
import numpy as np
from sklearn.feature_extraction import image
images = np.zeros((5, 4, 4, 3))
images[:] = np.arange(5).reshape(-1, 1, 1, 1)
patches = image.PatchExtractor((2, 2)).transform(images)
n_patches = patches.shape[0] // images.shape[0]
index = np.repeat(np.arange(images.shape[0]), n_patches)
print(index, patches[:, 0, 0, 0])