日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

灰度直方图(MATLAB)

發布時間:2023/12/31 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 灰度直方图(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

    h = imhist(f); h1 = h(1:10:256); horz = 1:10:256;%1-25610刻度畫一條柱狀 bar(horz,h1); axis([0 255 0 3000]);#x,y軸的最大最小值范圍 set(gca,'xtick',0:50:255);%0-255 坐標間隔50,get CurrentAxes獲取當前軸 set(gca,'ytick',0:500:3000);%坐標間隔500

    3.桿狀圖/火柴梗圖
    stem(horz,v,1,‘color_linestyle_marker’,‘fill’);
    v:行向量
    horz:水平標度值增量
    color_linestyle_marker:線條顏色,線型,標記符號,見下圖。

    h = imhist(f); h1 = h(1:10:256); horz = 1:10:256;%1-25610刻度畫一條柱狀 stem(horz,h1,'r--s','fill');%紅色虛線方形 axis([0 255 0 3000]);#x,y軸的最大最小值范圍 set(gca,'xtick',0:50:255);%0-255 坐標間隔50,get CurrentAxes獲取當前軸 set(gca,'ytick',0:500:3000);%坐標間隔500

    4.擬合曲線圖
    plot(horz,v,1,‘color_linestyle_marker’);

    h = imhist(f); plot(h); axis([0 255 0 15000]); set(gca,'xtick',0:50:255); set(gca,'ytick',0:2000:15000);

    5.實現灰度直方圖的顯示

    I = imread('beauty.jpg'); J=rgb2gray(I); imhist(J);

    總結

    以上是生活随笔為你收集整理的灰度直方图(MATLAB)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。