Saya memiliki masalah sederhana, tetapi saya tidak dapat menemukan solusi yang baik untuk itu.
Saya ingin mengambil array NumPy 2D yang mewakili gambar grayscale, dan mengubahnya menjadi gambar RGB PIL sambil menerapkan beberapa colormaps matplotlib.
Saya bisa mendapatkan output PNG yang masuk akal dengan menggunakan pyplot.figure.figimage
perintah:
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')
Meskipun saya dapat menyesuaikan ini untuk mendapatkan apa yang saya inginkan (mungkin menggunakan StringIO mendapatkan gambar PIL), saya bertanya-tanya apakah tidak ada cara yang lebih sederhana untuk melakukan itu, karena tampaknya merupakan masalah visualisasi gambar yang sangat alami. Katakanlah, sesuatu seperti ini:
colored_PIL_image = magic_function(array, cmap)