圖像算法工程師必備:灰度直方圖

2020-12-03 ImageAlgo

圖像的灰度直方圖,大概是數字圖像處理專業課接觸到的第一節講圖像具體算法的一堂課了。

所謂的灰度直方圖,就是統計一個8比特的灰度圖像,其灰度等級從0到255的像素的分布情況。

我們很容易就能想到,一幅圖像對應唯一的直方圖,而同一直方圖肯定會對應很多不同的圖像。

圖像灰度直方圖

而彩色圖像的直方圖自然是RGB三通道各有一個灰度直方圖。

圖像算法方向的研究生在研一的課程學習中大多可以用C語言等編成語言寫出最簡單的灰度直方圖的代碼來,因為這實在是太簡單了,不過是for循環和if else的區區二三十行代碼,但更複雜的算法,像圖像拼接、融合等,他們都是用的opencv等圖像庫,雖然後來又出現了tensorflow和pytorch等深度學習框架,但在國內也不過是調參數,雖然調參數也不是簡單的事,但畢竟還是調參數,打掃衛生也不是簡單的事啊,你未必能打掃很乾淨讓別人滿意,這也是AI在2018年下半年突然泡沫破裂的緣故。哈哈,這些是題外的廢話~

灰度直方圖

雖然直方圖這個算法簡單到了極點,但它依然有些作用甚至是很大作用。一是圖像的量化就是根據灰度分布來判斷的。二是目標提取算法都會用到直方圖做閾值判斷使圖像二值化從而突出顯示目標對象。所謂閾值就是直方圖中橫坐標的某個位置,將大部分灰度等級的像素和小部分灰度等級的像素區別開來。因為要處理的圖像,其背景和目標是有很明顯的灰度差異的。因為如果沒有灰度差異,就算是我們人眼也不易區分背景和目標,也就無從成像。三是如果要計算目標的面積,也是用的灰度直方圖來統計佔比。

事實上,還有一個圖像墒是利用灰度分布來計算的。所謂墒就是指圖像信息的豐富程度,也即信息量。我們很容易想到,一張白紙的信息量和一幅畫的信息量差異很大,而一幅畫的灰度直方圖分布是很複雜的。

相關焦點

  • 圖像工程師必備:人工特徵
    圖像自己哪知道自己有什麼特徵,都是人為給它安上的名頭。理論教育家給圖像的人工特徵定義為以下幾種:一,直方圖特徵,上次文章圖像的特徵介紹了直方圖特徵。顏色特徵一般通過直方圖特徵來展現。二,灰度邊緣特徵。圖像灰度在某個方向上的局部範圍內表現出的不連續性,這種灰度明顯變化點的集合稱為邊緣。這是邊緣的科學定義,大家可以理解嗎~不明覺厲有沒有~要我來說,你只要記著:邊緣如何體現,就是灰度差,所以我們把邊緣又叫做灰度邊緣。就可以了~而灰度邊緣特徵又進一步反映了圖像中目標所佔的面積大小和形狀。
  • 基於直方圖的圖像增強算法(HE、CLAHE、Retinex)之(一)
    直方圖是圖像色彩統計特徵的抽象表述。基於直方圖可以實現很多有趣的算法。例如,圖像增強中利用直方圖來調整圖像的對比度、有人利用直方圖來進行大規模無損數據隱藏、還有人利用梯度直方圖HOG來構建圖像特徵進而實現目標檢測。
  • 【圖像基礎教程】直方圖均衡化
    ) 又稱直方圖平坦化,實質上是對圖像進行非線性拉伸,重新分配圖像象元值,使一定灰度範圍內象元值的數量大致相等。這樣,原來直方圖中間的峰頂部分對比度得到增強,而兩側的谷底部分對比度降低,輸出圖像的直方圖是一個較平的分段直方圖:如果輸出數據分段值較小的話,會產生粗略分類的視覺效果。[1] 根據香農定理關於信息熵的定義:
  • MATLAB比較圖像的相似度-圖像搜索算法
    關注我們獲得更多精彩內容一、圖像相似度計算相關原理通過圖片進行搜索相似圖標的算法實現是:利用感知「感知哈希算法」,就是每一張圖片都按照某種桂林生成唯一的「標識」,通過對「標識」進 比較,那麼可以判斷兩張照片是相似以及相似程度。
  • 紅外圖像處理中平臺實時直方圖均衡器的SoC實現
    O引言  直方圖均衡是紅外圖像處理中簡單有效的一種圖像增強方法[1]。直方圖均衡器在增強目標的同時也放大了背景和噪聲信號,因此有人提出了平臺直方圖均衡算法,該算法能達到增強目標且較好地抑制背景和噪聲的目的[2,5],具有很大的應用價值。
  • CLAHE算法實現圖像增強「AI工程論」
    在學習這個之前,我們要先學習一下下面的前置算法:【Contrast Stretching】:對比度拉伸;2 競賽中的CLAHE實現在比賽中,我們往往使用albumentations庫函數進行圖像的預處理,因為這個預處理庫的運行速度非常的快,而且封裝了大量的圖像增強的方法。圖像任務的話這個庫函數非常滴奈斯。
  • OpenCV-Python 直方圖-4:直方圖反投影|二十九
    它用於圖像分割或在圖像中查找感興趣的對象。簡而言之,它創建的圖像大小與輸入圖像相同(但只有一個通道),其中每個像素對應於該像素屬於我們物體的概率。用更簡單的話來說,與其餘部分相比,輸出圖像將在可能有對象的區域具有更多的白色值。好吧,這是一個直觀的解釋。(我無法使其更簡單)。直方圖反投影與camshift算法等配合使用。
  • 醫學信號與圖像處理算法中的並行化
    (2)CUDA平臺下的直方圖生成  傳統的圖像直方圖算法是通過逐點統計實現的,基本程序算法如下:for(int i = 0;,所以即使在並行處理環境中,不進行迭代運算也是無法生成圖像的直方圖的。要利用並行處理環境進行算法優化可以考慮將輸入數據分成多個塊,讓某一個線程去處理其中一塊形成一個局部直方圖,最後歸併成一個全局直方圖。但是對於GPU平臺這個算法需要進行調整,這是因為讀取圖像數據是順序的而訪問結果直方圖數組是數據依賴的,考慮到GPU平臺的存儲器結構最優的是採用共享存儲器而非全局存儲器。GPU硬體上共享存儲器的大小為16KB,共享存儲區沒有原子操作的支持。
  • OpenCL 學習step by step (7) 灰度圖Histogram計算(1)
    histogram翻譯成中文就是直方圖,在計算機圖像處理和視覺技術中,通常用histogram來進行圖像匹配,從而完成track,比如meanshift跟蹤算法中,經常要用到圖像的直方圖。灰度圖的histogram計算,首先要選擇bin(中文可以稱作槽)的數量,對於灰度圖,像素的範圍通常是[0-255],所以bin的數目就是256,然後我們循環整幅圖像,統計出每種像素值出現的次數,放到對應的bin中。
  • 乾貨|一文讀懂圖像局部特徵點檢測算法
    特徵點的方向的求法是需要對特徵點鄰域內的點的梯度方向進行直方圖統計,選取直方圖中比重最大的方向為特徵點的主方向,還可以選擇一個輔方向。在計算特徵矢量時,需要對局部圖像進行沿主方向旋轉,然後再進鄰域內的梯度直方圖統計(4x4x8)。
  • 一種自適應紅外圖像增強處理的FPGA實現
    本文根據上述特點設計了基於FPGA的紅外圖像處理系統,該系統採用自適應直方圖均衡化圖像增強處理後,紅外圖像視覺效果明顯改善,對比度增強,成像效果理想。  自適應平臺直方圖算法研究  紅外圖像是場景熱輻射分布所成的圖像,由於場景中的目標和背景的溫差相對較小,所以紅外圖像具有高背景、低反差的特點,其信噪比也比可見光圖像低。為了從紅外圖像中正確地識別目標,必須對紅外圖像進行增強處理。
  • 用迭代法求指紋圖像中的閥值
    摘要:給出使用直方圖方法求閥值的例子;結合直方圖方法提出用於計算最優閥值的迭代法,該方法是基於256級的指紋灰度圖像計算;最後給出迭代法中初值的選擇方法。實驗結果證明該方法切實可行。
  • OpenCV-Python 直方圖-3:二維直方圖|二十八
    目標在本章中,我們將學習查找和繪製2D直方圖。這將在以後的章節中有所幫助。介紹在第一篇文章中,我們計算並繪製了一維直方圖。 之所以稱為一維,是因為我們僅考慮一個特徵,即像素的灰度強度值。 但是在二維直方圖中,您要考慮兩個特徵。
  • MATLAB圖像處理之圖像增強(二)
    uint8(H);figure,subimage(E)變換前(左)後(右)圖像對比直方圖灰度變換是最常用的實現圖像灰度變換的方法,值得我們重點討論。我們還是重點來學習直方圖灰度變換用到的函數以及實現的代碼和達到的效果:實現函數imhist函數用來計算和顯示圖像的直方圖 imhist(I) imhist(I,n) %I代表灰度圖像,n為指定的灰度級數目,默認值為256 imhist(X,map) %X為索引圖像
  • Matlab圖像增強與復原技術在SEM圖像中的應用
    1圖像處理方法  1.1 直方圖均衡化  直方圖均衡化(Histogran Equalization,HE)是利用直方圖的統計數據進行直方圖的修改,能有效地處理原始圖像的直方圖分布情況,使各灰度級具有均勻的概率分布,通過調整圖像的灰度值的動態範圍,自動地增加整個圖像的對比度,以使圖像具有較大的反差,大部分細節清晰。
  • 深入理解OpenCV+Python直方圖均衡化
    直方圖均衡化是圖像處理領域中利用圖像直方圖對對比度進行調整的方法。
  • 如何理解圖像定位和跟蹤技術
    邊緣是運動目標的最基本特徵,表現在圖像中就是指目標周圍圖像灰度有階躍變化或屋頂變化的那些像素集合,它是圖像中局部亮度變化最顯著的部分。 邊緣檢測就是採用某種算法來定位灰度不連續變化的位置,從而圖像中目標與背景的交界線。圖像的灰度變化可以用灰度梯度來表示。
  • 結合實例與代碼談數字圖像處理都研究什麼?
    下面給出的12個大的方向,系我認為可以看成是基礎性領域的部分,而且它們之間還互有交叉本文引用地址:http://www.eepw.com.cn/article/201702/344134.htm  1、圖像的灰度調節  圖像的灰度直方圖、線性變換、非線性變換(包括對數變換、冪次變換、指數變換等)、灰度拉伸、灰度均衡、直方圖規定化等等)。
  • Matlab數字圖像處理初步
    灰度數字圖像與矩陣灰度圖像:一張灰度圖像根據其豎直位置(行)與水平位置(列)可以對應於一個二維矩陣
  • 什麼是直方圖,攝影中直方圖怎麼看?
    直方圖是我們在照片中使用來查看圖像中每個值有多少像素,照片中的每個像素的值都從0(黑色)到255(白色),圖的左側代表音階的暗色調,右側代表較亮的色調。在彩色攝影中,每個像素對於每種顏色都有其自己的值(0-255)。