<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設計應用 > 一種攝像頭自動聚焦方法及硬件實現(xiàn)

          一種攝像頭自動聚焦方法及硬件實現(xiàn)

          作者: 時間:2009-05-13 來源:網(wǎng)絡 收藏

          其中:f(x,y)表示為第x行、第y列像素的亮度值。本算法選取了鄰近的兩個像素作比較(像素分別是f(x,y)像素的左側(cè)和上側(cè)),與灰度差分法相比,有著更好的單峰、單調(diào)和對稱性。

          2 系統(tǒng)的組成和原理

          本系統(tǒng)主要由CCD攝像機、帶步進電機的光學鏡頭、FPGA和控制電路組成。CCD攝像機采用SONY公司推出的 SONY47W CCD 套件,該套件支持的最高分辨率為752×582并支持ITU-REC656 YUV數(shù)字信號輸出。系統(tǒng)整體框圖如圖1所示。

          系統(tǒng)上電復位后,DSP接收CCD圖像傳感器輸出的模擬視頻信號,并對該信號進行A/D轉(zhuǎn)換、白平衡和亮度/色度等處理后,轉(zhuǎn)換成YUV數(shù)字信號輸出。在行、場及像素時鐘信號的控制下,把亮度信號(Y)輸入到FPGA中,F(xiàn)PGA統(tǒng)計相鄰兩場圖像的亮度信號,并按照本系統(tǒng)提出的圖像清晰度對圖像進行分析、比較,并把比較結(jié)果輸入到中。根據(jù)比較結(jié)果,通過步進電機的轉(zhuǎn)動方向和步數(shù)來控制光學鏡頭,從而。

          系統(tǒng)中,搜索策略通常采用盲人爬山比較法[4]。首先取得起始位置的圖像,并計算出此時的值;然后,讓步進電機驅(qū)動鏡頭從起始位置向上移動一步,將此時的圖像與前者比較。若比前者的聚集值大,就繼續(xù)向上移動調(diào)焦鏡頭;如此循環(huán),直至圖像的聚焦評價函數(shù)值小于前一位置,則前一位置就是圖像最清晰的位置,聚焦結(jié)束。該算法簡單,但在實際應用中,由于圖像采樣、量化及傳輸過程中各種干擾引起的圖像噪音影響,經(jīng)常會出現(xiàn)誤判。因此,本文采用了一種改進的盲人爬山比較法,稱為“三點”比較法。該在確定鏡頭位置時,不是僅根據(jù)前后2 次聚焦評價值的大小來確定,而是用3 個點大小的變化確定曲線的方向,最終確定鏡頭位置。為了敘述清楚,用f1、f2、f3分別表示鏡頭在不同位置時的聚焦評價函數(shù)的值,這里只分析f1>f2時可能出現(xiàn)的情況(當f1f2時,先不進行判斷,而是把結(jié)果保存起來,讓步進電機繼續(xù)驅(qū)動鏡頭向原方向移動到位置f3;如果f2>f3,則可以確定聚焦曲線是下降方向,此時,讓步進電機驅(qū)動鏡頭到f1位置;如果f2f3,則認為出現(xiàn)“錯誤”點,不做判斷,讓鏡頭再向前運動到f4,再對f2、f3、f4進行三點判別,得到正確的聚焦位置;如果f2

          3 實驗數(shù)據(jù)分析

          為證實所提出的評價函數(shù)的有效性,對該系統(tǒng)進行了大量實驗,并與灰度差分法所獲得圖像進行比較。圖2、圖3是以簡單的文本圖像為例,在聚焦點附近算法改進前后各測得的20組聚焦值并據(jù)此繪制的聚焦評價函數(shù)曲線。圖4、圖5分別是算法改進前后,采用本系統(tǒng)所拍攝的聚焦圖像。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();