2017-05-12 55 views
0

我試圖理解什麼是圖像直方圖,但我卡在它裏面。我會很感激它的一個簡單的解釋和強度值的含義,因爲我不知道它是什麼。圖像直方圖含義

+0

你甚至讀過https://en.wikipedia.org/wiki/Histogram?我認爲解釋是相當可以理解的。 – Piglet

回答

1

我想Matlab的幫助功能將有一個很好的解釋與一些例子,所以這應該永遠是你的第一站。但這是我的嘗試:

圖像由像素組成。爲簡單起見,我們考慮一個灰度圖像。每個像素對眼睛具有一定的亮度,其以該像素的強度值表示。爲了簡單起見,我們假設強度值可以是0到7之間的任何(整數)值,0是黑色的,7是白色的,並且值之間是不同的灰色陰影。

圖像直方圖會告訴您圖像中每個強度值(或強度值範圍)有多少個像素。水平軸顯示可能的強度值,垂直軸顯示每個這些強度值的像素數。所以,假設你有一個完全黑色的2x2圖像(只有4個像素),在matlab中,它看起來像[0 0; 0 0],因此所有強度值均爲0.此圖像的直方圖將顯示一條高度爲4(垂直軸)的強度值爲0的橫條(橫軸)。同樣,如果所有像素都是白色的,[7 7; 7 7],你會得到一個高度爲4的強度值爲7的條。如果一半像素是白色的,另一半是黑色的,例如, [0 0; 7 7]或[0 7; 7 0]或相似,則會在直方圖中得到兩個高度爲2的條,位於強度值0和7處。如果圖像中有四個不同的強度值,例如[2,5; 0,6],您將在相應的強度值下得到四個高度爲1的條。

它有助於玩弄這樣一個小圖像,在這個小圖像中,您可以輕鬆地手動計算像素數。例如:

image=[2,5,3; 1,0,6; 3,2,1]; 
subplot(1,2,1) 
imshow(image, [0 7]); % see: help imshow 
subplot(1,2,2) 
histogram(image, (0:8)-0.5) % see: help histogram 
+0

謝謝先生,現在非常清楚:) –

0

直方圖顯示的頻率分佈。

假設你有一組20個女人。現在你想了解他們的頭髮顏色。所以你定義了「箱」金髮,黑色,紅色,棕色

因此,你增加每個箱子的計數,每個女人有相應的頭髮顏色。

你會用這樣的事情結束了:

  x 
     x  x 
    x  x  x 
    x  x  x 
    x  x  x 
    x  x  x x 
    x  x  x x 
blonde black brown red 

所以這是的頭髮顏色的婦女羣體中的直方圖。你會得到一個很好的圖形表示,很容易解釋。一眼就能看出頭髮很少有女性,黑色和棕色是最常見的。 當然,你可以通過只看20個女人來做到這一點。但想象一下,你想爲1000名女性或地球上的所有女性做到這一點?

現在說你想知道圖像中強度值的分佈。 我們在一個字節圖像中有256個灰度值。所以如果我們想要最大的分辨率,我們定義256個分檔。然後爲每個特定值的像素增加1。

你可以有更少的垃圾箱。假設灰度值[0-9] [10-19] ...

通過查看圖像的直方圖,您可以瞭解其對比度,亮度,...

0

直方圖是概率分佈,可以用於很多事情。隨着圖像有它2主要用途:

  1. 灰度圖像的直方圖

    這告訴你有圖像的很大一部分裏裝的色彩/亮度。通過強度我的意思是灰度色調「顏色」。在8位灰度圖像上,0代表黑色,128代表灰色,255代表白色。所以直方圖曲線圖對x軸爲顏色或強度和y是概率或像素數爲顏色。

    這可以用於很多事情。例如你有黑色文本在白紙上的照片,但也有引起一些模糊的灰色地帶,你想以二進制化這只是BWOCR。這些圖像通常會得到雙峯直方圖,這意味着在直方圖圖中有2個「大」的顛簸。一個用於黑色字符,另一個用於白色背景。所以如果你發現那些顛簸,那麼它們之間的中間可以用作天真二值化的「安全」閾值。

    如果恰好有不同的顏色(沒有曲線或噪聲僅數種不同的顏色),意味着圖像呈現像卡通或文字或東西不符合實際。

    如果你有較深的顏色計數越高,這意味着你的形象是黑暗的......如果你得到了明亮的色彩計數越高,這意味着圖像較亮。如果存在「均勻」分佈,那麼您的圖像在暗和亮之間的中間具有「良好」構圖(參見直方圖均衡或自動曝光時間計算)。

  2. 彩色圖像直方圖

    例如,您可以RGBHSV也做顏色直方圖。視覺表示那些你需要以某種方式對顏色進行排序。有關此查看更多資訊:

    顏色直方圖可以同樣使用爲灰度。最重要的是,這些被用於顏色量化過程來降低色彩數不會丟失太多的信息是這樣的:

這裏直方圖的例子:

artificial real photo