0
我目前正在尋找可以在其中存儲numpy.ndarray
作爲圖像,然後保存該圖像,並將圖像的像素值提取到numpy.ndarray
。具有像素值的numpy.ndarray的維度應與用於創建該圖的numpy.ndarray相同。將numpy.ndarray作爲圖像存儲,然後保存像素值
我想是這樣的:
def make_plot_store_data(name, data):
plt.figure()
librosa.display.specshow(data.T,sr=16000,x_axis='frames',y_axis='mel',hop_length=160,cmap=cm.jet)
plt.savefig(name+".png")
plt.close()
convert = plt.get_cmap(cm.jet)
numpy_output_interweawed = convert(data.T)
爲什麼會這樣搞砸了?
當您提供[最小化,完整和可驗證的示例](https://stackoverflow.com/help/mcve)時,它更容易提供幫助。另外,目前還不清楚爲什麼你的'ndarray'只是因爲它被渲染爲圖像而改變形狀。看到我的答案下面的工作示例。 –
另外,你的'convert()'將標量映射到RGBA,如果給定一個'[N×N]'輸入數組,它將返回一個'[N,N,4]'矩陣。有關更多信息,請參見['Colormap'文檔](http://matplotlib.org/api/colors_api.html#matplotlib.colors.Colormap)。 –
與此相同的問題:http://stackoverflow.com/questions/43646838/why-is-image-stored-different-than-the-one-imshowed – ImportanceOfBeingErnest