【CCD映像檢測】3:映像的調試方法

來源:互聯網
上載者:User

CCD映像檢測<>

作者:一點一滴的Beer  指導教師:Chen Zheng   單位:WHU

 

四、相關調試手段 

    在嵌入式系統中網路攝影機調試的目的是使網路攝影機的機械和電氣參數在滿足系統要求下能產生品質最高的映像資料。一個涉及硬體和軟體的成像系統,成像的品質好壞往往受到來自外界幹擾和自身限制的很多因素的影響,這些影響會產生雜訊和成像不均勻。來自軟體層面的因素往往是演算法的問題,這個層面的問題可以通過理論分析的數學計算解決,來自硬體層面的因素則而要用儀器進行調試,通過實驗測量分析才能解決,由於硬體處理系統底層,所以硬體的品質會直接影響軟體的品質,從而影響最終成像品質。對網路攝影機進行調試就是要從硬體層面上盡量消除幹擾。同時,因為視頻訊號最後交給晶片後的資訊就是一些數字量,這些表徵圖片資訊的數字量對於程式的設計者來說是極其不直觀的,這樣會造成處理上的一些困難。合理利用好調試手段,對協助使用者發現硬體問題和直觀再現數字圖片以及一些參數的整定是極其有用的。

4.1軟體調試系統。 

    在去過一年裡面,筆者利用Visual C++平台開發了兩款軟體如下,來對網路攝影機採集資料還原和模擬。

4.1.1基於串口通訊的映像顯示軟體。 

24:映像顯示軟體 

    以上軟體的主要作用是:在小車靜止時利用串口通訊將網路攝影機所見在PC機上直觀呈現出來,而且能匯出資料供使用者分析。對於沒有LCD顯示技術的使用者來說,本軟體也可以作為上文中的硬體二值電路電阻參數調整的協助工具輔助。本軟體的使用方法也比較簡單,在下位機程式中,只需編寫一個串口接收中斷處理函數,在函數體中將圖片矩陣資料依次發送完畢即可。

    本軟體的編寫過程在此不再贅述,對於有一些MFC編程經驗的同學來說,自己編寫也並不困難。故筆者只對主要應用到的一些技術作些羅列:

1.基於MSCOMM控制的串口通訊編程應用。以實現圖片矩陣資料從下位機通過串口傳送到上位機。

2.利用API函數Rectangle(*)和FillSolidRect(*)分別繪製矩形塊和控制矩形塊的填充顏色。不同位置的矩形塊顏色對應著不同位置的數位影像矩陣資料,這樣就能將資料還原成映像直觀再現。

3.利用CFile類,將接收到的圖片灰階資料以矩陣式排列匯出儲存為文字檔。一方面能夠方便使用者精確看到每一個像素點的具體灰階值,另一方面對於習慣用VC進行模擬的使用者來說,為其VC模擬提供了資料來源。

 

4.1.2映像資料模擬播放器。 

25:映像資料模擬播放器 

    以上軟體的主要作用是:小車在跑道上運行一周后,將賽道圖片儲存到擴充的FLASH模組中,然後再利用串口通訊將所有資料發送到上位機並儲存為一個二進位檔案,然後本軟體就對此檔案進行播放。可以觀測小車的動態資訊。而且一些影像處理演算法可以在此模擬,比如:映像分割閾值的選取,映像中心線的提取等等。對比直接在下位機上進行影像處理,此方法能夠直觀顯現處理,而且還能將相關的計算結果顯示出來。由於本播放器為動態顯示,能夠將小車運行過程中見到的所有賽道類型全部儲存下來,所以也可以用來驗證影像處理演算法的通用性和正確性。

本軟體的編寫過程在此不再贅述,對於有一些MFC編程經驗的同學來說,自己編寫也並不困難。故筆者也只對主要應用到的一些技術作些羅列:

1. 利用CFile類,讀取圖片檔案並進行播放和匯出中間資料。

2.利用API函數Rectangle(*)和FillSolidRect(*)分別繪製矩形塊和控制矩形塊的填充顏色。

3. 利用系統的定時函數OnTimer(UINT nIDEvent)來對圖片進行重新整理播放。

(現在覺得這個東西用處其實不大,因為我當時還沒有能夠做到把讓串口持續通訊把FALSH中的資料傳到上位機中,這個軟體只是簡單的對用另外一個軟體讀取的FLASH中的圖片資訊檔進行播放和再現,可以做一些簡單模擬類比吧。其實還可以結合資料庫技術的,可惜當時什麼都不會,現在對.NET的資料庫編程比較熟悉了,可惜沒有那個精力再回頭去做這個了。)

 

 

4.1.3基於VB的通訊資料接收軟體。

26:基於VB的通訊資料接收軟體

    配合下位機,通過串口通訊對FLASH模組中的資料進行讀取並以二進位檔案形式儲存到PC中,儲存小車運動過程中網路攝影機看到的賽道資訊。(由於本程式涉及到複雜的和下位機的通訊協議,非筆者能力所及,由指導老師開發)。這外軟體很好用,可是我不會VB啊。

4.2硬體調試部分。

4.2.1配備電視盒的CRT顯示器調整視野。

    將通電後的CCD的視頻線和地線接至電視盒,然後再串連CRT顯示器,直接由CRT顯示類比訊號。此顯示方法,可以用來先對網路攝影機鏡頭調焦,使成像清晰,也可以用來測量網路攝影機的視野參數,為映像校正提供計算依據。

4.2.2基於HCS12晶片SPI讀寫FLASH儲存映像資料。、

    此技術由指導老師開發。在MCU板上擴充一塊FALASH晶片,然後在小車運行時即時記錄網路攝影機看到的賽道資訊,供使用者分析。(涉及到比較複雜的下位機程式編寫,亦非筆者能力所及,相關技術由指導老師開發)。

4.2.3利用LCD即時顯示二值映像。

    此技術由指導老師開發。在MCU上擴充一塊LCD,用來即時顯示網路攝影機視覺,此方法在硬體二值電路中能協助使用者快速準確調整相關電路參數來適應不同的比賽光線環境。同時LCD配合按鍵,可以協助使用者即時線上更改小車運行參數。(此技術由指導老師開發)。

實物圖

CRT

LCD

27:幾種硬體映像顯示手段

4.2.4基於ARM的車載網路攝影機資訊儲存系統設計。

    用串口讀取FLASH中的圖片資訊並發送到上位機,因為圖片資料量巨大,往往一個20s的映像資料就要傳送幾十分鐘,所以很耗時,效率不高。故筆者構想,用一個完全獨立的模組來記錄小車運動中的圖片資訊,供使用者分析。

選擇ARM核心的STM32作為處理器,引入一根視頻訊號線,然後AD,再利用SPI對SD卡寫入FAT檔案系統的二進位檔案。需要映像資訊時,在PC機上從SD卡上直接讀出,然後再結合映像資料模擬播放器即可以動態呈現小車運動所見情況。

(註:本方案還只是構想,本來準備本科畢業設計做這個的,結果大四一年給導師安排做WebGIS了。唉!)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.