在修补程序提取后记住原始图像

时间:2018-05-27 21:25:04

标签: python image numpy scikit-learn

如果这太笼统,我道歉。我在scikit中使用PatchExtractor函数 - 学习将图像 - 一个size =(n_images x image_height x image_width)的数组转换为补丁,因此生成的数组的大小为=(n_patches,patch_height,patch_width)。

然而,通过这个功能,我忘记了哪个补丁来自哪个图像,这对于以后的管道非常重要。有没有办法跟踪补丁来自的图像?

1 个答案:

答案 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])