Visualizza un'immagine in scala di grigi in Matplotlib

Suraj Joshi 15 febbraio 2024
  1. matplotlib.pyplot.imshow() per visualizzare un’immagine in scala di grigi in Matplotlib
  2. Esempi: Matplotlib Visualizza l’immagine in scala di grigi
Visualizza un'immagine in scala di grigi in Matplotlib

Per visualizzare un’immagine in scala di grigi in Matplotlib, usiamo matplotlib.pyplot.imshow() con i parametri cmap impostati su 'gray', vmin impostati su 0 e vmax impostati su 255 Per impostazione predefinita, il valore di cmap, vmin e vmax è impostato su None.

matplotlib.pyplot.imshow() per visualizzare un’immagine in scala di grigi in Matplotlib

matplotlib.pyplot.imshow(X,
                         cmap=None,
                         norm=None,
                         aspect=None,
                         interpolation=None,
                         alpha=None,
                         vmin=None,
                         vmax=None,
                         origin=None,
                         extent=None,
                         shape= < deprecated parameter > ,
                         filternorm=1,
                         filterrad=4.0,
                         imlim= < deprecated parameter > ,
                         resample=None,
                         url=None,
                         *,
                         data=None,
                         **kwargs)

Esempi: Matplotlib Visualizza l’immagine in scala di grigi

import matplotlib.pyplot as plt
import matplotlib.image as img

image = img.imread("lena.jpg")

plt.imshow(image[:, :, 1], cmap="gray", vmin=0, vmax=255, interpolation="none")
plt.show()

Produzione:

Matplotlib visualizza l&rsquo;immagine in scala di grigi

Questo metodo legge l’immagine lena.jpg, che è un’immagine RGB usando la funzione imread() dal modulo matplotlib.image. Per visualizzare l’immagine in scala di grigi, abbiamo solo bisogno di un canale di colore. Quindi, per il passaggio successivo, prendi un solo canale di colore e visualizza l’immagine utilizzando il metodo plt.imshow() con cmap impostato su " grigio ", vmin impostato su 0 e vmax Impostato su 255.

Infine, usiamo il metodo show() per mostrare una finestra che mostra l’immagine in scala di grigi. Per eseguire lo script precedente, dobbiamo avere lena.jpg nella nostra directory di lavoro corrente.

Prendere un solo canale di colore non è un modo appropriato per convertire le immagini RGB in immagini in scala di grigi perché abbiamo algoritmi specifici per rendere la conversione più efficiente. Questi algoritmi sono implementati in quasi tutte le librerie di elaborazione delle immagini più diffuse disponibili. Di seguito, mostriamo un esempio utilizzando il PIL.

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

image = Image.open("lena.jpg")
gray_image = image.convert("L")
gray_image_array = np.asarray(gray_image)
plt.imshow(gray_image_array, cmap="gray", vmin=0, vmax=255)
plt.show()

Produzione:

Matplotlib visualizza l&rsquo;immagine in scala di grigi utilizzando il modulo immagine

Qui leggiamo l’immagine lena.jpg nella nostra attuale directory di lavoro usando la funzione open() e poi convertiamo l’immagine in scala di grigi usando il metodo convert() con 'L' come argomento. Dopodiché, convertiamo l’immagine in scala di grigi in un array NumPy e visualizziamo l’immagine usando il metodo imshow().

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Articolo correlato - Matplotlib Images