一種攝像頭自動(dòng)聚焦方法及硬件實(shí)現(xiàn)
其中:f(x,y)表示為第x行、第y列像素的亮度值。本算法選取了鄰近的兩個(gè)像素作比較(像素分別是f(x,y)像素的左側(cè)和上側(cè)),與灰度差分法相比,有著更好的單峰、單調(diào)和對(duì)稱性。
本系統(tǒng)主要由CCD攝像機(jī)、帶步進(jìn)電機(jī)的光學(xué)鏡頭、FPGA和單片機(jī)控制電路組成。CCD攝像機(jī)采用SONY公司推出的 SONY47W CCD 套件,該套件支持的最高分辨率為752×582并支持ITU-REC656 YUV數(shù)字信號(hào)輸出。系統(tǒng)整體框圖如圖1所示。
系統(tǒng)上電復(fù)位后,DSP接收CCD圖像傳感器輸出的模擬視頻信號(hào),并對(duì)該信號(hào)進(jìn)行A/D轉(zhuǎn)換、白平衡和亮度/色度等處理后,轉(zhuǎn)換成YUV數(shù)字信號(hào)輸出。在行、場及像素時(shí)鐘信號(hào)的控制下,把亮度信號(hào)(Y)輸入到FPGA中,F(xiàn)PGA統(tǒng)計(jì)相鄰兩場圖像的亮度信號(hào),并按照本系統(tǒng)提出的圖像清晰度評(píng)價(jià)函數(shù)對(duì)圖像進(jìn)行分析、比較,并把比較結(jié)果輸入到單片機(jī)中。單片機(jī)根據(jù)比較結(jié)果,通過步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向和步數(shù)來控制光學(xué)鏡頭,從而實(shí)現(xiàn)自動(dòng)聚焦。
在自動(dòng)聚焦系統(tǒng)中,搜索策略通常采用盲人爬山比較法[4]。首先取得起始位置的圖像,并計(jì)算出此時(shí)的評(píng)價(jià)函數(shù)值;然后,讓步進(jìn)電機(jī)驅(qū)動(dòng)鏡頭從起始位置向上移動(dòng)一步,將此時(shí)的圖像與前者比較。若比前者的聚集評(píng)價(jià)函數(shù)值大,就繼續(xù)向上移動(dòng)調(diào)焦鏡頭;如此循環(huán),直至圖像的聚焦評(píng)價(jià)函數(shù)值小于前一位置,則前一位置就是圖像最清晰的位置,聚焦結(jié)束。該算法簡單,但在實(shí)際應(yīng)用中,由于圖像采樣、量化及傳輸過程中各種干擾引起的圖像噪音影響,經(jīng)常會(huì)出現(xiàn)誤判。因此,本文采用了一種改進(jìn)的盲人爬山比較法,稱為“三點(diǎn)”比較法。該方法在確定鏡頭位置時(shí),不是僅根據(jù)前后2 次聚焦評(píng)價(jià)值的大小來確定,而是用3 個(gè)點(diǎn)大小的變化確定曲線的方向,最終確定鏡頭位置。為了敘述清楚,用f1、f2、f3分別表示鏡頭在不同位置時(shí)的聚焦評(píng)價(jià)函數(shù)的值,這里只分析f1>f2時(shí)可能出現(xiàn)的情況(當(dāng)f1f2時(shí),先不進(jìn)行判斷,而是把結(jié)果保存起來,讓步進(jìn)電機(jī)繼續(xù)驅(qū)動(dòng)鏡頭向原方向移動(dòng)到位置f3;如果f2>f3,則可以確定聚焦曲線是下降方向,此時(shí),讓步進(jìn)電機(jī)驅(qū)動(dòng)鏡頭到f1位置;如果f2f3,則認(rèn)為出現(xiàn)“錯(cuò)誤”點(diǎn),不做判斷,讓鏡頭再向前運(yùn)動(dòng)到f4,再對(duì)f2、f3、f4進(jìn)行三點(diǎn)判別,得到正確的聚焦位置;如果f2
3 實(shí)驗(yàn)數(shù)據(jù)分析
為證實(shí)所提出的評(píng)價(jià)函數(shù)的有效性,對(duì)該系統(tǒng)進(jìn)行了大量實(shí)驗(yàn),并與灰度差分法所獲得圖像進(jìn)行比較。圖2、圖3是以簡單的文本圖像為例,在聚焦點(diǎn)附近算法改進(jìn)前后各測得的20組聚焦值并據(jù)此繪制的聚焦評(píng)價(jià)函數(shù)曲線。圖4、圖5分別是算法改進(jìn)前后,采用本系統(tǒng)所拍攝的聚焦圖像。
評(píng)論