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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

图像的灰度级数越多越好_MATLAB-数字图像处理 图像直方图归一化

發布時間:2023/12/2 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图像的灰度级数越多越好_MATLAB-数字图像处理 图像直方图归一化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

圖像直方圖歸一化

圖像直方圖概念:

圖像直方圖是反映一個圖像像素分布的統計表,其實橫坐標代表了圖像像素的種類,可以是灰度的,也可以是彩色的。縱坐標代表了每一種顏色值在圖像中的像素總數或者占所有像素個數的百分比。圖像是由像素構成,因為反映像素分布的直方圖往往可以作為圖像一個很重要的特征。

圖像灰度直方圖:一副數字圖像有[0~255]灰度級,直方圖定義如下:

其中,是第k個灰度級(如:255),是該灰度級的個數。
歸一化直方圖定義如下:

即:第k個灰度級出現的數量,比上所有灰度級數量總和,也就是概率。

獲得圖像直方圖:

t=imread('a1.jpg') subplot(1,2,1),imshow(t),title('原圖') subplot(1,2,2),imhist(t),title('圖像直方圖')

效果圖:

Imhist:
該函數用于獲取圖像數據直方圖。在圖像增強技術中,圖像灰度級直方圖有著重要的意義,是直方圖修改技術、直方圖均衡化等一些圖像處理技術的基礎。在matlab 的命令窗口中鍵入doc imhist或help imhist即可獲得該函數的幫助信息。

調用格式:

imhist(I,n)
imhist(X,map)
[counts,x] = imhist(I)
說明:imhist(I,n)其中,I為灰度的輸入圖像,n為指定的灰度級數目,缺省值為256;imhist(X,map)計算和顯示索引色圖像X的直方圖,map為調色板。用stem(x,counts)同樣可以顯示直方圖。counts和x分別為返回直方圖數據向量和相應的彩色向量。

這里著重說一下imhist(I,n)的用法:
驗證代碼:

t=imread('a1.jpg') subplot(2,3,1),imshow(t),title('原圖') subplot(2,3,2),imhist(t),title('灰度級數默認:256') subplot(2,3,3),imhist(t,128),title('灰度級數:128') subplot(2,3,4),imhist(t,64),title('灰度級數:64') subplot(2,3,5),imhist(t,32),title('灰度級數:32') subplot(2,3,6),imhist(t,16),title('灰度級數:16')

結果圖


總結imhist(I,n):

n的定義是灰度級數,這里我們可以理解為將0~255分成幾份,比如默認為256,就是分成256份,一份是1,所以灰度值每隔1就統計一次;又n為128,則把0-255分成128份,一份為2,灰度值每隔2統計一次,所以從對比圖像看,n為128的看起來比n為256的更稀疏。

[counts,x] = imhist(I)這句話的意思是,獲取直方圖的橫坐標和縱坐標,即各個像素級,以及每個像素級上的像素出現的次數,這個有個易錯點,就是,counts其實是直方圖的縱坐標值,而x才是直方圖的橫坐標。

那么獲得這兩個值有什么用呢? 這里是可以利用這兩個值,用stem函數繪出統計圖像

上代碼:

F=imread('a1.jpg'); I=rgb2gray(F); subplot(1,3,1),imshow(I),title('原圖') subplot(1,3,2),imhist(I),title('原圖的圖像直方圖') [count,x]=imhist(I) % 獲取直方圖的橫坐標和縱坐標,即各個像素級,以及每個像素級上的像素出現的次數 counts:縱坐標 x:橫坐標 subplot(1,3,3),stem(x,count),title('根據圖像直方圖繪制的統計圖') % 通過剛才得到的值,繪制條形圖。

效果圖:


這里看出stem繪出的圖像和imhist繪出的圖像其實是一樣的,只是stem繪出的圖像統計了次數。

如果這里我們需要將圖像直方圖歸一化,其實就是將縱坐標變成當前次數占總次數的概率,這個也很簡單,就需要將stem的counts先除以總像素數量就行。
代碼:

F=imread('a1.jpg'); I=rgb2gray(F); [m,n]=size(I) subplot(1,4,1),imshow(I),title('原圖') subplot(1,4,2),imhist(I),title('原圖的圖像直方圖') [count,x]=imhist(I) subplot(1,4,3),stem(x,count),title('根據圖像直方圖繪制的統計圖') count=count/m/n % 獲取直方圖的橫坐標和縱坐標,即各個像素級,以及每個像素級上的像素出現的次數 counts:縱坐標 x:橫坐標 subplot(1,4,4),stem(x,count),title('圖像直方圖歸一化')

效果圖:

總結

以上是生活随笔為你收集整理的图像的灰度级数越多越好_MATLAB-数字图像处理 图像直方图归一化的全部內容,希望文章能夠幫你解決所遇到的問題。

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