Ho un problema semplice ma non riesco a trovare una buona soluzione.Come convertire l'array Numpy in immagine PIL applicando la mappa colori matplotlib
Voglio prendere una matrice 2D numpy che rappresenta un'immagine in scala di grigi e convertirla in un'immagine RGB PIL mentre si applicano alcune delle mappe dei colori Matplotlib.
posso ottenere un'uscita PNG ragionevole utilizzando il comando pyplot.figure.figimage
:
dpi = 100.0
w, h = myarray.shape[1]/dpi, myarray.shape[0]/dpi
fig = plt.figure(figsize=(w,h), dpi=dpi)
fig.figimage(sub, cmap=cm.gist_earth)
plt.savefig('out.png')
Anche se ho potuto adattare questo per ottenere ciò che voglio (probabilmente usando StringIO si ottiene l'immagine PIL), mi chiedo se c'è non è un modo più semplice per farlo, dal momento che sembra essere un problema molto naturale di visualizzazione delle immagini. Diciamo, qualcosa del genere:
colored_PIL_image = magic_function(array, cmap)
Grazie per la lettura!
Per codice pienamente funzionante, puoi ref: [Esiste una buona mappa dei colori per convertire l'immagine in scala di grigi in quelli colorati usando python's PIL?] (Http://stackoverflow.com/questions/43457308/is-there-any- good-color-map-to-convert-gray-scale-image-to-colourful-ones-using-p) – Adam