灰度直方图(MATLAB)
1.概念
灰度直方圖是灰度級的函數,它表示圖像中具有某種灰度級的像素的個數,反映了圖像中每種灰度出現的頻率,如圖所示。灰度直方圖的橫坐標是灰度級,縱坐標是該灰度級出現的頻度,它是圖像最基本的統計特征。
即三步:
1.首先需要統計它的灰度級
2.統計各個灰度級想像素個數
3.以圖的形式來表示,橫坐標灰度級,縱坐標概率或像素個數
橫坐標的r代表圖像中像素灰度級,作歸一化處理后,范圍在[0, 1]之間。在灰度級中,r=0代表黑,r=1代表白。對于一幅給定的圖像來說,每一個像素取得[0, 1]區間內的灰度級是隨機的,也就是說r是一個隨機變量。假定對每一瞬間,它們是連續的隨機變量,那么就可以用概率密度函數pr ( r )來表示原始圖像的灰度分布。如果用直角坐標系的橫軸代表灰度級r,用縱軸代表灰度級的概率密度函數pr( r ),這樣就可以針對一幅圖像在這個坐標系中作出一條曲線來。這條曲線在概率論中就是概率密度曲線,如圖所示。
2.性質
即:一個直方圖可以對應多幅圖像,而一個圖像只能對應一副直方圖。
需要注意的是直方圖并沒有反映像素在圖中的位置信息。
3.直方圖的計算
灰度直方圖的計算非常簡單,依據定義,在離散形式下,用rk代表離散灰度級,用pr(rk)代表pr( r ),并且有下式成立:
式中:nk為圖像中出現rk級灰度的像素數,n是圖像像素總數,而nk/n即為頻數。在直角坐標系中做出rk與pr(rk)的關系圖形,即稱為該圖像的直方圖。
4.重要知識點
(1)直方圖與圖像不是一一對應的:一幅圖像對應一個直方圖,但直方圖并不一定只對應一幅圖像。
(2)直方圖僅能統計灰度像素出現的概率,反映不出該像素在圖像中的位置,即在直方圖中,沒有體現圖像所具有的空間信息。
(3)灰度直方圖能夠反映灰度圖像的對比度。
(4)利用matlab計算圖像直方圖函數為imhist();具體用法:
-
imhist( i );直接顯示圖像i的灰度直方圖;
-
imhist(i,n)n為指定灰度級顯示直方圖;
-
[count, x] = imhist( i ) 獲取直方圖信息,count為每一級灰度像素個數,x為灰度級,x也可以在imhist(i,x)中指定,可以通過stem(x,count)畫相應直方圖;
(5)所以說直方圖不同,大致的能夠反映出圖像的視覺效果的好壞。
- 低灰度級集中,則表示比較暗。
- 高灰度級集中,則表示比較亮。
- 中灰度級集中,動態范圍不足,對比度比較差。
- 均衡分布的圖像,從低到高,像素占據比較均衡。
5.MAITLAB程序
1.灰度圖
%灰度直方圖 f=imread('lena.jpg'); subplot(121);imshow(f);title('原圖'); subplot(122);imhist(f);title('灰度直方圖');2.柱狀直方圖
bar(horz,v,width);
v:vertical垂直,向量,包含了將要被繪制的點
horz:horizion水平灰度級間隔,等分成幾段來降低分辨率
width:寬度 范圍0<=width<=1,默認值0.8
3.桿狀圖/火柴梗圖
stem(horz,v,1,‘color_linestyle_marker’,‘fill’);
v:行向量
horz:水平標度值增量
color_linestyle_marker:線條顏色,線型,標記符號,見下圖。
4.擬合曲線圖
plot(horz,v,1,‘color_linestyle_marker’);
5.實現灰度直方圖的顯示
I = imread('beauty.jpg'); J=rgb2gray(I); imhist(J);總結
以上是生活随笔為你收集整理的灰度直方图(MATLAB)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3dmax2019卸载/安装失败/如何彻
- 下一篇: 宝藏生物世界高清图片素材推荐