版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于FPGA的圖像處理之直方圖均衡最近一直在用FPGA調(diào)圖像處理相關(guān)的算法,主要是集中在圖像增強和增晰方面?,F(xiàn)在來介紹一個復(fù)雜度不高,但確實也還比較好用的圖像增強算法-直方圖均衡。直方圖均衡的作用,上面也說了,是圖像增強,那是增強什么呢?是增強圖像的對比度。先來看下在Matlab中實現(xiàn)直方圖均衡的效果吧。圖片比較隨意,直接對電腦桌面截了一張圖,大家應(yīng)該能有一個直觀的感受,知道直方圖均衡的作用和效果了吧!
直方圖均衡在對一些低照度圖像增晰、去霧處理等應(yīng)用場景,效果還是挺不錯的。對于直方圖均衡的實現(xiàn)步驟,在網(wǎng)上一搜一大把,大部分講的都是用Matlab或者C語言的代碼實現(xiàn)。
那我們也先來結(jié)合Matlab代碼來介紹一下直方圖均衡的實現(xiàn)步驟,之后再說說用FPGA是怎么做的。
%[第一步]統(tǒng)計每個像素值出現(xiàn)次數(shù)count=zeros(1,256);fori=1:Rforj=1:Ccount(1,fx(i,j)+1)=count(1,fx(i,j)+1)+1;endend第一步,是對于一整幅圖像進行像素值統(tǒng)計,當然咱們這是對灰度圖像進行直方圖均衡,所以統(tǒng)計的像素值大小范圍是0-255。
這一步是統(tǒng)計0-255這256個像素點的值,在整幅圖像中出現(xiàn)的次數(shù)。%[第二步]統(tǒng)計每個像素值出現(xiàn)的概率,得到概率直方圖T=zeros(1,256);T=double(T);count=double(count);fori=1:256
T(1,
i)
=
count(1,
i)
/
(R
*
C);
%
R
和
C為圖像長和寬end
第二步,將像素點統(tǒng)計出來的出現(xiàn)次數(shù)除以圖像的總像素點,計算出各個灰度值出現(xiàn)的概率。
%[第三步]求累計概率,得到累計直方圖fori=2:256T(1,i)=T(1,i-1)+T(1,i);end第三步,單看代碼,似乎不太好理解,這一步算的累計概率是怎么算的呢?
第1個結(jié)果,像素值為0的概率+像素值為1的概率;第2個結(jié)果,像素值為0的概率+像素值為1的概率+像素值為2的概率;。。。第255個結(jié)果,像素值為0的概率+像素值為1的概率+像素值為2的概率+...+像素值為255的概率。其實就是等于1。其實這一步,總共會得出256個結(jié)果,還要算上像素值為0的概率,因為在第二步中已經(jīng)算出來了單個像素點的概率,所以就沒有再次算了,for循環(huán)里面寫的就是2-256了。
%[第四步]完善映射函數(shù)fori=1:256T(1,i)=T(1,i)*255;end
第四步,是完善映射函數(shù)。
從原圖到直方圖均衡化之后的圖像,之間肯定存在一個函數(shù)f(x),類似的img_out=f(img_in)
。
也就是從原圖進行直方圖均衡需要有一個函數(shù)表示他們之間的關(guān)系。
而這一步就是完善這個函數(shù),其實就是對第三步得出的累計概率分布結(jié)果*255。
注意,這個映射函數(shù)其實是一個離散值,總共有256個值。
%[第五步]完成每個像素點的映射fy=double(fx);fori=1:Rforj=1:Cfy(i,j)=T(1,fy(i,j)+1);endend
這是最后一步了,把原圖經(jīng)過第四步的映射函數(shù),得到直方圖均衡化之后的圖像結(jié)果。這一步,給大家再解釋一下,其實就是把輸入圖像的像素值,作為映射函數(shù)這個一維數(shù)組相應(yīng)元素的下標,去找到對應(yīng)下標元素的值。并把這個值作為直方圖均衡化的結(jié)果輸出。對于直方圖均衡的處理,從流程上來看,其實是很簡單的。
當然對于有些書,會給你列出一堆的公式。作為一個畢業(yè)多年的老油條,對那些公式早就不敏感了。
所以在文章里面,就直接開門見山的給大家說步驟了,這也算是對那些也像我這種對數(shù)學(xué)公式早已不感冒的朋友的一份愛惜吧!對于原理部分,貼著Matlab代碼說完了,那就是再說說在FPGA里面的實現(xiàn)步驟吧。用FPGA來實現(xiàn)直方圖均衡,我把上面的步驟稍微做了一點改變。
第一步,依然統(tǒng)計0-255這256個像素點出現(xiàn)的次數(shù)。
第二步,沒有計算各個像素點出現(xiàn)的概率,而是統(tǒng)計各個像素點出現(xiàn)的累計次數(shù)。也是得到256個結(jié)果:第1個結(jié)果,像素點為0出現(xiàn)的次數(shù);第2個結(jié)果,像素點為0出現(xiàn)的次數(shù)+像素點為1出現(xiàn)的次數(shù);第3個結(jié)果,像素點為
0出現(xiàn)的次數(shù)+像素點為1出現(xiàn)的次數(shù)+素點為2出現(xiàn)的次數(shù);依次類推。第三步,將第二步的結(jié)果*255*2,就是比剛剛在Matlab中,多乘上了2,這樣做的目的,是因為在FPGA里面沒有進行小數(shù)運算,所以先乘上2,
為后面的運算稍稍提高一下精度。第四步,將第三步的結(jié)果除以整幅圖片的像素點個數(shù)。第五步,完成直方圖均衡對輸入像素點值的映射。
這里要注意,因為攝像頭那邊的數(shù)據(jù)是連續(xù)過來的,如果像Matlab那樣,先計算好當前圖像的映射函數(shù),再把當前圖像作為輸入,給到映射函數(shù)再得出直方圖均衡的結(jié)果,這個時間是等不起的。
所以這里我進行了一定的簡化,我是以前一幀圖像完善的映射函數(shù)作為當前幀圖像的映射函數(shù)。
這種做法,其實是完全可行的,咱們攝像頭圖像的幀速率一般是30fps,也就是在1秒鐘里面可以有30幅圖像,只要攝像頭采集的畫面變化速度在一定范圍里面,咱們這樣做是完全OK的,而且我用的攝像頭是MT9V034,是全局曝光的。是的,這就是我這幾天剛剛組裝好的MT9V034攝像頭,打樣了幾片PCB,裝上了CS大鏡頭,OV5640瞬間變身小弟,哈哈!??!感覺綠色的板子看著有點low,之后再換成黑色阻焊看看!
對于圖像的增強效果還是很明顯的。在調(diào)試直方圖均衡這個算法的時候,剛開始調(diào)的很郁悶。完全搞不明白為啥,極其郁悶。反復(fù)檢查了代碼,也跑了仿真,沒發(fā)現(xiàn)問題啊。
難不成直方圖均衡后的效果就是這個鬼樣子。然后也在網(wǎng)上搜,看看有沒有用FPGA做直方圖均衡后的效果圖,來比較一下。搜了半天,找到的全都是用Matlab或者其他什么軟件語言做的效果圖,我要這些效果圖干啥,勞資這邊多的是!之后又在知網(wǎng)下了好幾篇FPGA的直方圖均衡的論文,想看看論文里面有沒有效果圖,大多又是Matlab的效果圖,無語。。。郁悶了一晚上,到第二天上午,把腦袋放空,重新歸零。回憶這種現(xiàn)象,想起來在之前調(diào)的一個圖像增強算法也出現(xiàn)了類似的效果。
一時記不起來當時是怎么解決的,非常后悔,要是當時寫了一份調(diào)試記錄該多好。劃重點,寫調(diào)試記錄,是非常重要的!想了很久,當時出現(xiàn)這種情況,似乎是VGA顯示的數(shù)據(jù),對要顯示的數(shù)據(jù)源截位有問題。
舉個例子,VGA要顯示灰度圖像的8個bit,但是你要給VGA顯示的圖像數(shù)據(jù)有16個bit,理應(yīng)是把16bit的高8bit給VGA顯示,但是卻把[12:5]
這8個bit給了VGA顯示。但是這個問題,是在哪個地方出現(xiàn)了截位的問題
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年工控裝備:溫度控制調(diào)節(jié)器項目融資計劃書
- 《KAB創(chuàng)業(yè)俱樂部》課件
- 2023年板臥式電除塵器項目融資計劃書
- 《古希臘文明》課件
- 養(yǎng)老院老人康復(fù)設(shè)施維修服務(wù)質(zhì)量管理制度
- 安全生產(chǎn)月培訓(xùn)課件
- 培訓(xùn)課件工業(yè)園區(qū)物業(yè)管理服務(wù)規(guī)范
- 掛靠公司二手車交易協(xié)議合同書(2篇)
- 母親節(jié)主題班會68
- 2024年智慧城市建設(shè)戰(zhàn)略合作合同協(xié)議書3篇
- 鄉(xiāng)政府實習(xí)報告3篇-
- 滑坡監(jiān)測技術(shù)方案
- 行風(fēng)建設(shè)工作臺賬
- 幼兒園“一崗雙責(zé)”制度
- 加油站安全設(shè)施一覽表
- 優(yōu)秀輔警先進事跡材料
- 廣州城鄉(xiāng)居民基本養(yǎng)老保險待遇申請表
- 四年級算24點比賽試卷打印版難(共8頁)
- 框架涵洞施工技術(shù)總結(jié)
- 畢業(yè)設(shè)計(論文)叉車液壓系統(tǒng)設(shè)計
- 四年級語文上冊文言文閱讀與理解必考題部編版
評論
0/150
提交評論