Salva NumPy Array come immagine in Python
-
Usa la funzione
Image.fromarray()
per salvare un array NumPy come immagine -
Usa la funzione
imageio.imwrite()
per salvare un array NumPy come immagine -
Usa la funzione
matplotlib.pyplot.imsave()
per salvare un array NumPy come immagine -
Usa la funzione
cv2.imwrite()
per salvare un array NumPy come immagine
In Python, il modulo numpy viene utilizzato per lavorare con gli array. Ci sono molti moduli disponibili in Python che ci consentono di leggere e memorizzare immagini.
Le immagini possono essere pensate come un array di pixel diversi memorizzati in posizioni specifiche con rispettivi codici colore. Quindi, potremmo incontrare situazioni in cui dobbiamo convertire e salvare un array come immagine.
In questo tutorial, discuteremo come salvare un array numpy come immagine.
Usa la funzione Image.fromarray()
per salvare un array NumPy come immagine
La funzione fromarray()
è usata per creare una memoria immagine da un oggetto che esporta l’array. Possiamo quindi salvare questa memoria immagine nella posizione desiderata fornendo il percorso richiesto e il nome del file.
Per esempio,
import numpy as np
from PIL import Image
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
im = Image.fromarray(array)
im.save("filename.jpeg")
Per prima cosa creiamo un array che memorizza i codici colore RGB e poi li esportiamo. Possiamo specificare il formato desiderato della nostra immagine nel nome del file. Può essere jpeg
, png
o qualsiasi altro formato di immagine comunemente usato. Questo è comune a tutti i metodi discussi di seguito.
Usa la funzione imageio.imwrite()
per salvare un array NumPy come immagine
In precedenza, il modulo scipy aveva la funzione imsave()
per salvare array numpy come immagini. Tuttavia, nelle versioni recenti, è stato deprecato e la funzione imwrite()
di image.io()
è stata consigliata per eseguire questa operazione e ha guadagnato popolarità per la sua semplicità.
Il codice seguente mostra come utilizzare questa funzione.
import imageio
import numpy as np
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
imageio.imwrite("filename.jpeg", array)
Usa la funzione matplotlib.pyplot.imsave()
per salvare un array NumPy come immagine
Il modulo matplotlib ha una varietà di funzioni disponibili per lavorare con le immagini.
La funzione imsave()
può salvare un array come file immagine.
Per esempio,
import matplotlib.pyplot as plt
import numpy as np
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
plt.imsave("filename.jpeg", array)
Usa la funzione cv2.imwrite()
per salvare un array NumPy come immagine
Il modulo OpenCV viene spesso utilizzato per l’elaborazione delle immagini in Python. La funzione imwrite()
di questo modulo può esportare un array numpy come file immagine.
Per esempio,
import cv2
import numpy as np
array = np.arange(0, 737280, 1, np.uint8)
array = np.reshape(array, (1024, 720))
cv2.imwrite("filename.jpeg", array)
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn