直方圖是圖像的最基本的統計特徵,事實上就是圖像的亮度分佈的概率密度函數,是一幅圖像的所有象素集合的最基本的統計規律。直方圖反映了圖像的明暗分佈規律,可以通過圖像變換進行直方圖調整,獲得較好的視覺效果。
1.直方圖的定義:
圖像的直方圖是圖像的重要統計特徵,是表示數字圖像中每一灰度級與該灰度級出現的頻率(該灰度像素的數目)間的統計關係。
按照直方圖的定義可表示爲:
(k=0,1,2,…,L-1)
式中:N爲一幅圖像的總像素數;爲第k級灰度的像素數;爲第k個灰度級;L爲灰度級數;爲該灰度級出現的相對頻數。
2.直方圖的均衡化:
直方圖均衡化主要用於增強動態範圍偏小的圖像的反差。該方法的基本思想是把原始的直方圖變換爲均勻分佈的形狀,這樣就增加了像素灰度值的動態範圍,從而達到增強圖像整體對比度的效果。
直方圖均衡化一般採用原始圖的累計分佈函數作爲變換函數。假設灰度級歸一化至範圍[0, 1]內,pr(r)表示給定圖像中的灰度級的概率密度函數,對於離散的灰度級,均衡化變換爲:
(0≤≤1 )
式中k=1,2,…,L,是輸出圖像中的亮度值,它對應於出入圖像中的亮度值。
實驗步驟
- ①讀入圖像
- ②將讀入的彩色圖像轉化爲灰度圖像
- ③對圖像進行直方圖均衡化 b=histeq(a);
- ④繪製均衡化前後的圖像及其直方圖,作一幅子圖,兩行兩列4幅圖的第1幅 subplot(2,2,1);
- ⑤將原圖像直方圖顯示爲64級灰度 imhist(a,64);
- ⑥將均衡化後圖像的直方圖顯示爲64級灰度 imhist(b,64);
實驗代碼及效果展示
代碼如下:
A=imread('D:\image\tuxiang\lena.bmp');
%將讀入的彩色圖像轉化爲灰度圖像
a=rgb2gray(A);
%對圖像進行直方圖均衡化
b=histeq(a,256);
%繪製均衡化前後的圖像及其直方圖
subplot(2,2,1);
imshow(a);
title('原始圖像');
subplot(2,2,2);
imhist(a);
title('原始圖像歸一化直方圖');
subplot(2,2,3);
imshow(b);
title('均衡化後的圖像');
subplot(2,2,4);
imhist(b);
title('均衡化後圖像的歸一化直方圖');
效果展示 :
相比處理前的圖像,處理後的圖像直方圖分佈更均勻了,圖像在每個灰度級上都有像素點。從處理前後的圖像可以看出,許多在原始圖像中看不清楚的細節在直方圖均衡化處理後所得到的圖像中都變得十分清晰。
直方圖均衡化可以增加許多圖像的全局對比度,尤其是當圖像的有用數據的對比度相當接近的時候,通過這種方法,亮度可以更好地在直方圖上分佈。這樣就可以用於增強局部的對比度而不影響整體的對比度,直方圖均衡化通過有效地擴展常用的亮度來實現這種功能。