Tengo un problema simple pero no puedo encontrar una buena solución para él.Cómo convertir matriz Numpy a imagen PIL aplicando matplotlib colormap
Quiero tomar una matriz numpy 2D que representa una imagen en escala de grises, y convertirla en una imagen PIL RGB mientras aplica algunos de los mapas de color matplotlib.
puedo obtener una salida PNG razonable utilizando el 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')
Aunque podría adaptar esta a conseguir lo que quiero (probablemente utilizando StringIO hacer llegar la imagen PIL), me pregunto si hay no es una forma más sencilla de hacerlo, ya que parece ser un problema muy natural de visualización de imágenes. Digamos algo como esto:
colored_PIL_image = magic_function(array, cmap)
¡Gracias por su lectura!
Para un código completamente funcional, puede ref: [¿Hay algún buen mapa de color para convertir la imagen en escala de grises en colores usando el PIL de Python?] (Http://stackoverflow.com/questions/43457308/is-there-any- good-color-map-to-convert-gray-scale-image-to-colorful-ones-using-p) – Adam