我目前無法理解爲什麼我不能夠重新情節我存儲數據後..爲什麼圖像存儲與不顯示的圖像不同?
import os
import sys
from os import listdir
from os.path import isfile, join
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import seaborn as sb
from matplotlib.colors import Normalize
import matplotlib
from matplotlib import cm
from PIL import Image
import librosa
import librosa.display
import ast
def make_plot_store_data(name,interweaved):
librosa.display.specshow(interweaved.T,sr=16000,x_axis='frames',y_axis='mel',hop_length=160,cmap=cm.jet)
plt.title("log mel power spectrum of interweaved " + name)
plt.colorbar(format='%+02.0f dB')
plt.savefig(plot+"/"+name+"_plot_interweaved_conv.png")
plt.show()
plt.close()
convert = plt.get_cmap(cm.jet)
numpy_output_interweawed = convert(interweaved.T)
print interweaved.shape
print numpy_output_interweawed.shape
plt.imshow(numpy_output_interweawed, interpolation='nearest')
plt.show()
raw_input("Somethign")
numpy_output_interweawed.dump(numpy_train+name+"_normalized_interweaved"+".dat")
numpy_output_interweawed_or = convert(interweaved.T)*255
numpy_output_interweawed_or.dump(numpy_train+name+"_interweaved"+".dat")
情節表明通過librosa
視圖中的數據作爲
但是,當我轉換原始數據使用plt.cmap(cm.jet)
和它使用matplotlib.pyplot
圖的東西弄亂了數據,並且看起來不像原始的任何方式..
編輯
這是
plt.imshow(interweaved.T,aspect = 'auto')
plt.show()
raw_input("Somethign")
它看起來像的圖像事情長寬比 - 它開始像原來的情節,當我使情節更大 - 但爲什麼顏色太暗...
與此相同的問題:http://stackoverflow.com/questions/43647366/store-a-numpy-ndarray-as-an-image-and-then-save-the-pixel-values – ImportanceOfBeingErnest