? ? 前往老猿Python博文目錄 https://blog.csdn.net/LaoYuanPython ?
一、引言
在前面幾篇直方圖相關的文章中介紹了直方圖均衡、直方圖匹配、區域直方圖處理、基于直方圖統計資訊進行影像增強處理等影像處理與直方圖相關的內容,具體相關內容請參考《《數字影像處理》第三章學習總結感悟2:直方圖處理》,但一些直方圖的基礎知識沒有介紹,本來覺得是很簡單的知識,不用單獨說明,但在直方圖計算及處理應用時,發現一些基礎概念還是要對齊一下,因此在此補充說明一下直方圖的基礎知識,
二、通用直方圖概念及屬性
直方圖是一種常用的資料統計圖,對某一物理或特征量不同取值,找出它的最大值和最小值,然后確定一個區間,使其包含全部測量資料,將區間分成若干小區間,統計測量結果出現在各小區間的頻數或占比,以測量資料為橫坐標,以頻數或占比為縱坐標,劃出各小區間及其對應的頻數或占比高度,則可得到一個矩形圖,即統計直方圖,
直方圖中分成的若干小區間數量稱為組數,用bins表示,其中每組兩個端點的橫坐標差稱為組距,直方圖所表征資料的最小和最大值的區間稱為直方圖的值的范圍(range),
如果所有組的組距相同的直方圖稱為均勻直方圖(uniform histogram),否則稱為非均勻直方圖,
基于一個物理量或物體特征值建立的直方圖為一維直方圖,事實上也可以基于多個物理量或特征值來建立多維直方圖,如人口資料中基于年齡+受教育年數來建立人口數量分布直方圖就是二維直方圖,物理量或特征量的個數稱為直方圖的維數,用dims表述,
下面兩圖是二維直方圖:


三、影像直方圖
在影像處理中,以影像具體通道的像素值的資料構成的集合值作為直方圖的橫坐標,每個值出現的數量或比例作為縱坐標,所得的直方圖就是影像直方圖(Image Histogram),
其實不只基于影像像素值建立直方圖,也可以對影像梯度、每個像素的角度等一切影像的屬性值都可以建立直方圖,但在影像處理中基于影像像素值的直方圖是最常見的,一般影像直方圖都是一維直方圖,
- 影像直方圖具有平移、旋轉和縮放不變性的特點,對于平移影像,旋轉影像角度的情況下,影像操作前后的直方圖分布不變,對于縮放影像,前后直方圖的分布也基本不變
- 可以通過影像對應的直方圖來判斷一張影像是否偏暗、偏亮或者光線正常,影像直方圖的橫坐標的左側為純黑、較暗的區域,而右側為較亮、純白的區域,因此一張較暗圖片的直方圖中的資料多集中于左側和中間部分,而整體明亮、只有少量陰影的影像則相反,如下圖:

四、小結
本文介紹了直方圖概念及屬性、影像直方圖的概念、特點及應用,
更多影像直方圖處理的內容請參考《《數字影像處理》第三章學習總結感悟2:直方圖處理》的介紹,
更多影像處理請參考專欄《OpenCV-Python圖形影像處理》及《影像處理基礎知識》的介紹,
對于缺乏Python基礎的同仁,可以通過老猿的免費專欄《 專欄:Python基礎教程目錄》從零開始學習Python,
如對文章內容存在疑問,可在博客評論區留言,或關注:老猿Python 微信公號發訊息咨詢,可通過掃博客左邊的二維碼加微信公眾號,
寫博不易,敬請支持:
如果閱讀本文于您有所獲,敬請點贊、評論、收藏,謝謝大家的支持!
關于老猿的付費專欄
- 付費專欄《https://blog.csdn.net/laoyuanpython/category_9607725.html 使用PyQt開發圖形界面Python應用》專門介紹基于Python的PyQt圖形界面開發基礎教程,對應文章目錄為《 https://blog.csdn.net/LaoYuanPython/article/details/107580932 使用PyQt開發圖形界面Python應用專欄目錄》;
- 付費專欄《https://blog.csdn.net/laoyuanpython/category_10232926.html moviepy音視頻開發專欄 )詳細介紹moviepy音視頻剪輯合成處理的類相關方法及使用相關方法進行相關剪輯合成場景的處理,對應文章目錄為《https://blog.csdn.net/LaoYuanPython/article/details/107574583 moviepy音視頻開發專欄文章目錄》;
- 付費專欄《https://blog.csdn.net/laoyuanpython/category_10581071.html OpenCV-Python初學者疑難問題集》為《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python圖形影像處理 》的伴生專欄,是筆者對OpenCV-Python圖形影像處理學習中遇到的一些問題個人感悟的整合,相關資料基本上都是老猿反復研究的成果,有助于OpenCV-Python初學者比較深入地理解OpenCV,對應文章目錄為《https://blog.csdn.net/LaoYuanPython/article/details/109713407 OpenCV-Python初學者疑難問題集專欄目錄 》
- 付費專欄《https://blog.csdn.net/laoyuanpython/category_10762553.html Python爬蟲入門 》站在一個互聯網前端開發小白的角度介紹爬蟲開發應知應會內容,包括爬蟲入門的基礎知識,以及爬取CSDN文章資訊、博主資訊、給文章點贊、評論等實戰內容,
前兩個專欄都適合有一定Python基礎但無相關知識的小白讀者學習,第三個專欄請大家結合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python圖形影像處理 》的學習使用,
對于缺乏Python基礎的同仁,可以通過老猿的免費專欄《https://blog.csdn.net/laoyuanpython/category_9831699.html 專欄:Python基礎教程目錄)從零開始學習Python,
如果有興趣也愿意支持老猿的讀者,歡迎購買付費專欄,
老猿Python,跟老猿學Python!
? ? 前往老猿Python博文目錄 https://blog.csdn.net/LaoYuanPython ?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/303131.html
標籤:其他
上一篇:python讀取影像的幾種方式
下一篇:數字影像處理——影像的統計特征
