EZ-USB FX2實現(xiàn)圖像采集系統(tǒng)
圖3 PC程序總流程圖
每次啟動采集程序時,系統(tǒng)通過創(chuàng)建USBDeviee實例獲得設備句柄,并嘗試打開USB設備。當點擊程序界面開始采集按鈕后,程序通過USB控制端點發(fā)送一個開始采集信號,并要求采集卡回傳一個設備狀態(tài)信號。如果設備提示無模擬視頻信號連接,則提示用戶連接。如果設備準備好,則開始接收圖像數(shù)據(jù)。
由于USB主控制器工作于Slave FIFO模式,采集卡上傳到上位機的數(shù)據(jù)量固定為27MB/S,如果上位機沒能及時接收數(shù)據(jù)必然會導致圖像數(shù)據(jù)丟失,所以程序中使用一個線程(線程1)以異步方式做圖像數(shù)據(jù)接收,實際效果非常好。線程1主要代碼如下:
SAA7113H輸出的是隔行視頻信號,每秒25幀圖像,一幀圖像需要分兩次傳輸,先傳輸全部奇場(奇數(shù)行)數(shù)據(jù),然后傳輸全部偶場(偶數(shù)行)數(shù)據(jù),采集卡中將SAA7113H的輸出設置為標準YUV4:2:2數(shù)據(jù),分辨率為720x576.系統(tǒng)將所有的解碼數(shù)據(jù)不做任何處理直接傳送到PC機,數(shù)據(jù)格式如圖4所示。其中,"80 10…"為消隱數(shù)據(jù)。"FF 00 00 SAV"為一行數(shù)據(jù)塊的開始標志,作為奇場有效行,SAV的值為8X,作為偶場有效行,該值為CX."FF 00 00 EAV"為一行數(shù)據(jù)塊結束標志,作為奇場有效行結束,EAV的值為9X,作為偶場有效行結束,該值為DX.作為720像素的YUV4:2:2數(shù)據(jù),每行一共有720x2=1 440個字節(jié),PC程序需要從所有的數(shù)據(jù)中找出每一行中有效的1 440個字節(jié)數(shù)據(jù),并按照實際行順序將奇場行相偶場行數(shù)據(jù)重新組合,轉換成RGB24位像素點并最終寫入BMP文件,實現(xiàn)圖像的采集、顯示和保存。
圖4 YUV4:2:2數(shù)據(jù)格式
數(shù)據(jù)查找及重組過程中,PC程序會根據(jù)YUV4:2:2數(shù)據(jù)格式做數(shù)據(jù)塊判別,如果發(fā)現(xiàn)有出錯數(shù)據(jù)程序會做自動拋棄處理,在對采集數(shù)據(jù)要求非常嚴格及單張采集間隔時間較長的場合,程序將發(fā)送重新采集信號給采集卡,再一次采集。系統(tǒng)實際使用過程中發(fā)現(xiàn),數(shù)據(jù)出錯情況很少出現(xiàn),且重發(fā)請求后可以得到正確數(shù)據(jù)。
3 結論
利用本方案設計的圖像采集卡可以實現(xiàn)圖像的連續(xù)采集,并最終以bmp圖像格式保存,采集速率每秒最大25幀,適用于所有支持PAL模擬視頻格式的攝像機及監(jiān)控攝像頭的圖像無損采集,具有成本低、圖像清晰等特點,在光學顯微鏡序列切片圖像采集系統(tǒng)中得到了很好的應用。另外,系統(tǒng)經過簡單修改后也可實現(xiàn)4個復合視頻源輸入的分時采集功能。
評論