MATLAB 影象直方圖
Ammar Ali
2022年5月11日
本教程將討論使用 Matlab 中的 imhist()
函式計算影象的直方圖。
使用 MATLAB 中的 imhist()
函式計算影象的直方圖
影象直方圖顯示了數字影象中畫素顏色分佈的圖形表示。影象包含包含顏色值的畫素。在直方圖中,我們顯示影象中存在的顏色值,以檢查影象中顏色的分佈。
例如,我們可以檢查影象中哪種顏色豐富,哪種顏色很少出現。我們還可以使用影象直方圖一目瞭然地發現噪聲、剪裁值和背景。
我們可以使用 Matlab 的內建函式 imhist()
來計算影象的直方圖。首先,我們必須使用 imread()
函式讀取影象,然後將其傳遞給 imhist()
函式。imhist()
函式將返回直方圖計數和箱的位置,它還將繪製直方圖。
例如,讓我們使用 imhist()
函式來計算和繪製影象的直方圖。請參閱下面的程式碼。
I = imread('cat.jpg');
subplot(1,2,1)
imshow(I)
subplot(1,2,2)
imhist(I)
輸出:
直方圖顯示影象中大量存在黑色。我們還可以指定 bin 的數量作為用於計算直方圖的第二個引數。bin 的數量應該是一個正整數。
輸入影象是任意維度的數值陣列。如果影象是 single 或 double 類,畫素值應該在 0 到 1 的範圍內。如果值不在範圍內,我們可以使用 rescale()
函式將值重新縮放到所需的範圍.
在索引影象的情況下,我們還可以在 imhist()
函式中傳遞一個顏色圖,用於計算影象的直方圖。
Author: Ammar Ali