圖像的灰度直方圖,大概是數字圖像處理專業課接觸到的第一節講圖像具體算法的一堂課了。
所謂的灰度直方圖,就是統計一個8比特的灰度圖像,其灰度等級從0到255的像素的分布情況。
我們很容易就能想到,一幅圖像對應唯一的直方圖,而同一直方圖肯定會對應很多不同的圖像。

而彩色圖像的直方圖自然是RGB三通道各有一個灰度直方圖。
圖像算法方向的研究生在研一的課程學習中大多可以用C語言等編成語言寫出最簡單的灰度直方圖的代碼來,因為這實在是太簡單了,不過是for循環和if else的區區二三十行代碼,但更複雜的算法,像圖像拼接、融合等,他們都是用的opencv等圖像庫,雖然後來又出現了tensorflow和pytorch等深度學習框架,但在國內也不過是調參數,雖然調參數也不是簡單的事,但畢竟還是調參數,打掃衛生也不是簡單的事啊,你未必能打掃很乾淨讓別人滿意,這也是AI在2018年下半年突然泡沫破裂的緣故。哈哈,這些是題外的廢話~

雖然直方圖這個算法簡單到了極點,但它依然有些作用甚至是很大作用。一是圖像的量化就是根據灰度分布來判斷的。二是目標提取算法都會用到直方圖做閾值判斷使圖像二值化從而突出顯示目標對象。所謂閾值就是直方圖中橫坐標的某個位置,將大部分灰度等級的像素和小部分灰度等級的像素區別開來。因為要處理的圖像,其背景和目標是有很明顯的灰度差異的。因為如果沒有灰度差異,就算是我們人眼也不易區分背景和目標,也就無從成像。三是如果要計算目標的面積,也是用的灰度直方圖來統計佔比。
事實上,還有一個圖像墒是利用灰度分布來計算的。所謂墒就是指圖像信息的豐富程度,也即信息量。我們很容易想到,一張白紙的信息量和一幅畫的信息量差異很大,而一幅畫的灰度直方圖分布是很複雜的。