从训练集中,我取了一张大小为(3,32,32)的图像(‘img’)。我使用了plt.imshow(img.T)来显示图像,但图像不够清晰。现在我想知道如何修改图像(‘img’)以使其显示得更加清晰。谢谢。
回答:
以下代码会打印出5×5网格的随机Cifar10图像。虽然图像不是模糊的,但也称不上完美。欢迎提出任何建议。
%matplotlib inlineimport numpy as npimport matplotlib.pyplot as pltfrom six.moves import cPickle f = open('data/cifar10/cifar-10-batches-py/data_batch_1', 'rb')datadict = cPickle.load(f,encoding='latin1')f.close()X = datadict["data"] Y = datadict['labels']X = X.reshape(10000, 3, 32, 32).transpose(0,2,3,1).astype("uint8")Y = np.array(Y)#Visualizing CIFAR 10fig, axes1 = plt.subplots(5,5,figsize=(3,3))for j in range(5): for k in range(5): i = np.random.choice(range(len(X))) axes1[j][k].set_axis_off() axes1[j][k].imshow(X[i:i+1][0])