根据numpy数组中的特定索引值选择图像



我有一个包含数据图像的数组,如下所示。

print(np.shape(input_data_transformed))

(120,120,1589(

这里input_data_transformed是NumPy数组,其中存储了589个图像。每个图像的大小都是120x120,只有一个通道。

我有另一个NumPy数组,称为索引数组,如下所示。

index_array=np.array([  8,   9,  10,  11, ..............., 584, 585, 586])

我想根据index_array中的索引值从input_data_transformed中选择图像

因此final_filtered_data应该只包含那些图像数据,其索引在index_array中给出

final_filtered_data=?

看起来您的维度顺序不对。你可以transpose,然后只在第一个轴上索引:

input_data_transformed.transpose(3,2,0,1)[index_array]

检查示例:

a = np.random.rand(120, 120, 1, 589)
index_array=np.array([  8,   9,  10,  11, 584, 585, 586])
a.transpose(3,2,0,1)[index_array].shape
# (7, 1, 120, 120)

最新更新