Questa funzione genera un istogramma per gli elementi della matrice M suddividendo l'intervallo di intensità in n barre. Ogni barra contiene il numero di pixel adatto per il relativo intervallo di livelli di intensità. Se n = 256, ad esempio, è presente una barra per ogni possibile livello di intensità in un'immagine in scala di grigi a 8 bit. Se sono presenti più di 256 barre, i livelli di intensità vengono suddivisi in barre nel modo indicato di seguito.
L'etichettatura delle barre inizia da 0. Se sono presenti più di 256 barre, le dimensioni delle barre sono minori di 1.
1. Definire una piccola matrice per determinare la relazione tra i valori e l'aspetto dell'istogramma.
2. Definire il numero di barre per applicare la funzione imhist alla matrice definita in precedenza.
Poiché n = 255, ognuno dei 256 livelli di intensità ottiene una barra propria. Come è possibile osservare nella matrice P, l'unica barra che deve includere più di un conteggio è la 150.
3. Tracciare un istogramma dei livelli di intensità.
4. Impostare n su un numero inferiore, ad esempio 5, e osservare la differenza.
Poiché n = 5, i 256 livelli di intensità devono essere suddivisi in 5 barre separate. I valori di intensità compresi tra 0 e 256/5 sono inclusi nella barra 0, i valori compresi tra 256/5 e 512/5 sono inclusi nella barra 1 e così via.
Come è possibile osservare nella matrice P e nell'istogramma precedente, i valori di intensità vengono distribuiti nel modo indicato di seguito.
◦ 0, 30 e 40 sono inclusi nella barra 0 (0-51)
◦ Nessun valore di intensità è incluso nella barra 1 (52-103)
◦ 120 e tre conteggi di 150 sono inclusi nella barra 2 (103-154)
◦ 200 è incluso nella barra 3 (154-205)
◦ 240 è incluso nella barra 4 (205-256)
5. Utilizzare la funzione READ_IMAGE per leggere un'immagine contenente spazi vuoti.
(pattern.bmp)
6. Applicare la funzione imhist all'immagine.
Lo spazio bianco (valore di intensità = 255) nell'immagine viene visualizzato come picco grande a destra. È possibile visualizzare il nero e altre tonalità di grigio distinte in altre barre.
7. Calcolare il numero di elementi nella barra 0 (nero) e nella barra 255 (bianco).
Le diverse tonalità delle aree di grigio nell'immagine vengono visualizzate come picchi minori lungo l'asse x.
imhist2
È possibile utilizzare questa funzione per creare barre dei dati con valori non compresi nell'intervallo 0-255.
1. Definire una matrice contenente elementi non compresi nell'intervallo 0-255.
2. Definire il numero di barre e calcolare l'istogramma a n barre.
3. Calcolare i punti finali delle n barre.
hist2d
Questa funzione genera un istogramma bidimensionale di due immagini M e N, creando n barre in ogni dimensione. M e N devono avere le stesse dimensioni. Se a intensità simili le due immagini hanno un numero di pixel simile, la matrice di output generata da hist2d ha una diagonale forte. La funzione suddivide l'intervallo 0-255 in n barre.
1. Definire il numero di barre e le due matrici immagine con dimensioni equivalenti.
2. Utilizzare l'operatore di vettorizzazione con la funzione bin_label definita in precedenza per calcolare il numero di barre per P e Q.
L'istogramma bidimensionale è una matrice n x n, con un conteggio alla colonna c e alla riga r ogni volta che è presente un elemento di Pbins con numero di barre c, mentre l'elemento corrispondente di Qbins ha conteggio r. Poiché, ad esempio, i primi elementi di Pbins e Qbins sono 0 e 2, generano un conteggio alla colonna 0 riga 2 della matrice istogramma.
3. Calcolare la matrice istogramma generando innanzitutto una matrice di valori zero e quindi aggiungendo i conteggi.
4. Confrontare l'input precedente con l'output di hist2d.
5. Per un esempio più concreto, considerare l'immagine a colori raffigurata di seguito.
Utilizzare la funzione READRGB per ingrandire l'immagine e utilizzare la funzione WRITERGB per scrivere l'immagine ingrandita in un file.
(smallwar.bmp)
6. Utilizzare la funzione extract per estrarre separatamente i componenti verde e blu per consentire il confronto tra i due componenti di colore.
7. Mostrare l'istogramma bidimensionale.
(hist2d.bmp)
8. Mostrare l'istogramma bidimensionale come immagine delle intensità su una scala di log.
Esaminare l'immagine e osservare le diverse intensità. La diagonale forte in questo istogramma bidimensionale indica che la maggior parte dei pixel in posizioni corrispondenti ha intensità simili. Non si tratta di un comportamento illogico in due componenti di colore della stessa fotografia. La diagonale sarebbe meno prominente in due immagini con texture molto diverse.