直方圖概念和分類
圖像直方圖用作數(shù)字圖像中色調(diào)分布的圖形表示。它繪制了每個(gè)色調(diào)值的像素?cái)?shù)。通過(guò)查看特定圖像的直方圖,觀看者將能夠一目了然地判斷整個(gè)色調(diào)分布。
圖表的水平軸代表色調(diào)變化,而垂直軸代表該特定色調(diào)的像素總數(shù)。
水平軸的左側(cè)表示暗區(qū),中間表示中間色調(diào)值,右側(cè)表示亮區(qū)。縱軸表示在每個(gè)區(qū)域中捕獲的區(qū)域大小(像素總數(shù))。
因此,非常暗圖像的直方圖的大部分?jǐn)?shù)據(jù)點(diǎn)將位于圖的左側(cè)和中心。
相反,具有很少黑暗區(qū)域或陰影的非常明亮的圖像的直方圖的大部分?jǐn)?shù)據(jù)點(diǎn)將位于圖的右側(cè)和中心。
在FPGA處理中常用的是灰度直方圖,灰度直方圖描述了一幅圖像的灰度級(jí)統(tǒng)計(jì)信息,主要應(yīng)用于圖像分割、圖像增強(qiáng)及圖像灰度變換等處理過(guò)程。
而FPGA對(duì)于直方圖處理主要分為以下三種:
我們常見(jiàn)或者聽(tīng)說(shuō)的直方圖概念主要指直方圖均衡,這也是最簡(jiǎn)單的一種方式,常見(jiàn)某些入門(mén)級(jí)的圖像處理書(shū)籍或者文章。直方圖規(guī)定化和直方圖拉伸我們后面慢慢介紹,先重點(diǎn)介紹直方圖均衡。公眾號(hào):OpenFPGA
直方圖統(tǒng)計(jì)及FPGA實(shí)現(xiàn)
從數(shù)學(xué)上來(lái)說(shuō),圖像直方圖描述的是圖像各個(gè)灰度級(jí)的統(tǒng)計(jì)特性,它是用圖像灰度值的一個(gè)函數(shù)來(lái)統(tǒng)計(jì)一幅圖像中各個(gè)灰度級(jí)出現(xiàn)的次數(shù)或概率,其數(shù)學(xué)定義如下所示:公眾號(hào):OpenFPGA
直方圖統(tǒng)計(jì)是比較簡(jiǎn)單的,將彩色圖像轉(zhuǎn)成灰度圖像后就可以統(tǒng)計(jì)了,偽代碼如下:公眾號(hào):OpenFPGA
unsignedintpHistCnt[256]; inti,j=0; memset(pHistCnt,0,256); for(i=0;i
上面的代碼就是遍歷圖像將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)里即可。
上圖中右邊是左邊圖像的直方圖統(tǒng)計(jì)。
實(shí)際用FPGA實(shí)現(xiàn)的時(shí)候一般會(huì)用到歸一化的直方圖,即不關(guān)心實(shí)際每個(gè)灰度值的具體值而是出現(xiàn)的概率。具體為假定一幅圖像的像素個(gè)數(shù)為N(N=圖像長(zhǎng)度*圖像寬度),灰度級(jí)總數(shù)為L(zhǎng)(級(jí)數(shù)和圖像的位數(shù)有關(guān),假定是8位圖像,則總數(shù)為2^8=256),這時(shí)候圖像中灰度級(jí)l(小L)的像素總數(shù)為 。每個(gè)灰度級(jí)除以總像素?cái)?shù)即得到各個(gè)灰度級(jí)出現(xiàn)的概率:公眾號(hào):OpenFPGA
上面的公式有個(gè)別稱:直方圖概率密度函數(shù)(也稱歸一化的灰度直方圖),記為PDF
直方圖統(tǒng)計(jì)完能干嘛呢?很明顯的是從直方圖中能讀取到圖像的亮度和對(duì)比度信息。若直方圖的統(tǒng)計(jì)主要偏向右側(cè)分布,那么圖像相對(duì)較亮;反之亦然。當(dāng)直方圖統(tǒng)計(jì)分布比較均勻時(shí),這時(shí)候圖像的對(duì)比度較大,若直方圖統(tǒng)計(jì)分布比較集中時(shí),則圖像對(duì)比度較小。公眾號(hào):OpenFPGA
下面幾張圖說(shuō)明了上面的結(jié)論:
較暗的圖像,同時(shí)對(duì)比度較低 較亮的圖像,同時(shí)對(duì)比度較低 對(duì)比度很高的圖像
FPGA功能分析
對(duì)于FPGA進(jìn)行直方圖操作的時(shí)候有兩種方式,一種是真操作,一種是偽操作:真操作就是將圖像緩存后進(jìn)行后續(xù)處理(均衡等),然后再將圖像發(fā)送出去;偽操作就是將圖像流水過(guò)后將需要的信息進(jìn)行緩存,然后在下一幅圖像來(lái)之后,將前一副圖像得到的信息作用于當(dāng)前圖像。由于常用的操作是基于視頻幀,避免視頻延遲過(guò)大,所以我們一般常用偽操作,即緩存當(dāng)前幀信息后作用后一幀圖像。
上面的特點(diǎn)我們一般選擇片內(nèi)雙口 RAM 作為緩存存儲(chǔ)器。對(duì)于 8 位的深度圖來(lái)說(shuō),統(tǒng)計(jì)結(jié)果的數(shù)據(jù)量并不大,因此選擇片內(nèi)存儲(chǔ)。此外,一方面統(tǒng)計(jì)模塊需要與其他時(shí)序進(jìn)行配合,因此需提供雙邊讀寫(xiě)接口;另一方面,統(tǒng)計(jì)過(guò)程中需要地址信息,因此選擇 RAM 形式的存儲(chǔ)器。
基上,直方圖統(tǒng)計(jì)步驟如下:
將當(dāng)前統(tǒng)計(jì)值讀出,加 1 后重新寫(xiě)入 RAM
重復(fù)以上步驟,直到當(dāng)前圖像統(tǒng)計(jì)完畢
在下一幅圖像到來(lái)之前將結(jié)果讀出
讀出之后對(duì) RAM 內(nèi)容進(jìn)行清零
因此,我們需要三個(gè)電路完成直方圖統(tǒng)計(jì):統(tǒng)計(jì)電路、讀出電路和清零電路。
關(guān)于這三個(gè)電路設(shè)計(jì)我們下期文章再詳細(xì)介紹。
FPGA電路設(shè)計(jì)
FPGA代碼設(shè)計(jì)
思考
若圖像直方圖是分段式集中應(yīng)該怎么處理比較合適?
后續(xù)文章:
直方圖均衡及FPGA實(shí)現(xiàn)
直方圖規(guī)定化及FPGA實(shí)現(xiàn)
原文標(biāo)題:FPGA直方圖操作
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1630文章
21802瀏覽量
606364 -
圖像
+關(guān)注
關(guān)注
2文章
1089瀏覽量
40592 -
直方圖
+關(guān)注
關(guān)注
0文章
21瀏覽量
7913
原文標(biāo)題:FPGA直方圖操作
文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
基于直方圖算法進(jìn)行FPGA架構(gòu)設(shè)計(jì)
為什么要進(jìn)行正弦直方圖測(cè)試?正弦直方圖方法測(cè)試模數(shù)轉(zhuǎn)換器
![為什么要進(jìn)行正弦<b class='flag-5'>直方圖</b>測(cè)試?正弦<b class='flag-5'>直方圖</b><b class='flag-5'>方法</b>測(cè)試模數(shù)轉(zhuǎn)換器](https://file1.elecfans.com/web2/M00/AB/7E/wKgZomU01oOAImL-AABLCRMSDws820.jpg)
一文帶你了解FPGA直方圖操作
基于FPGA的HDTV視頻圖像灰度直方圖統(tǒng)計(jì)算法設(shè)計(jì)
有誰(shuí)用FPGA做過(guò)數(shù)字圖像直方圖統(tǒng)計(jì)
有誰(shuí)用FPGA做過(guò)數(shù)字圖像直方圖統(tǒng)計(jì)
基于FPGA的圖像直方圖實(shí)時(shí)顯示
基于FPGA的圖像直方圖均衡處理
【干貨】基于FPGA的圖像處理(圖像增強(qiáng))之直方圖均衡
基于直方圖變換的LED背光源節(jié)電調(diào)光方法
![基于<b class='flag-5'>直方圖</b>變換的LED背光源節(jié)電調(diào)光<b class='flag-5'>方法</b>](https://file1.elecfans.com//web2/M00/A6/47/wKgZomUMPKeAN8F6AAANy0AEFtA783.jpg)
基于FPGA的視頻圖像灰度信號(hào)直方圖均衡算法實(shí)現(xiàn)設(shè)計(jì)
![基于<b class='flag-5'>FPGA</b>的視頻圖像灰度信號(hào)<b class='flag-5'>直方圖</b>均衡算法實(shí)現(xiàn)設(shè)計(jì)](https://file1.elecfans.com//web2/M00/A6/F3/wKgZomUMQWyAf5pOAAAkz7uHtOI188.gif)
基于直方圖算法的FPGA設(shè)計(jì)架構(gòu)
![基于<b class='flag-5'>直方圖</b>算法的<b class='flag-5'>FPGA</b>設(shè)計(jì)架構(gòu)](https://file.elecfans.com/web1/M00/8F/5D/pIYBAFy6iFOAMnqDAAAjnK0n9e4179.png)
基于FPGA實(shí)現(xiàn)圖像直方圖設(shè)計(jì)
![基于<b class='flag-5'>FPGA</b>實(shí)現(xiàn)圖像<b class='flag-5'>直方圖</b>設(shè)計(jì)](https://file1.elecfans.com/web3/M00/03/90/wKgZO2dqHAGARj8XAAAkNh_VJCs585.png)
評(píng)論