EZ-USB FX2實(shí)現圖像采集系統

圖3 PC程序總流程圖
每次啟動(dòng)采集程序時(shí),系統通過(guò)創(chuàng )建USBDeviee實(shí)例獲得設備句柄,并嘗試打開(kāi)USB設備。當點(diǎn)擊程序界面開(kāi)始采集按鈕后,程序通過(guò)USB控制端點(diǎn)發(fā)送一個(gè)開(kāi)始采集信號,并要求采集卡回傳一個(gè)設備狀態(tài)信號。如果設備提示無(wú)模擬視頻信號連接,則提示用戶(hù)連接。如果設備準備好,則開(kāi)始接收圖像數據。
由于USB主控制器工作于Slave FIFO模式,采集卡上傳到上位機的數據量固定為27MB/S,如果上位機沒(méi)能及時(shí)接收數據必然會(huì )導致圖像數據丟失,所以程序中使用一個(gè)線(xiàn)程(線(xiàn)程1)以異步方式做圖像數據接收,實(shí)際效果非常好。線(xiàn)程1主要代碼如下:

SAA7113H輸出的是隔行視頻信號,每秒25幀圖像,一幀圖像需要分兩次傳輸,先傳輸全部奇場(chǎng)(奇數行)數據,然后傳輸全部偶場(chǎng)(偶數行)數據,采集卡中將SAA7113H的輸出設置為標準YUV4:2:2數據,分辨率為720x576.系統將所有的解碼數據不做任何處理直接傳送到PC機,數據格式如圖4所示。其中,"80 10…"為消隱數據。"FF 00 00 SAV"為一行數據塊的開(kāi)始標志,作為奇場(chǎng)有效行,SAV的值為8X,作為偶場(chǎng)有效行,該值為CX."FF 00 00 EAV"為一行數據塊結束標志,作為奇場(chǎng)有效行結束,EAV的值為9X,作為偶場(chǎng)有效行結束,該值為DX.作為720像素的YUV4:2:2數據,每行一共有720x2=1 440個(gè)字節,PC程序需要從所有的數據中找出每一行中有效的1 440個(gè)字節數據,并按照實(shí)際行順序將奇場(chǎng)行相偶場(chǎng)行數據重新組合,轉換成RGB24位像素點(diǎn)并最終寫(xiě)入BMP文件,實(shí)現圖像的采集、顯示和保存。

圖4 YUV4:2:2數據格式
數據查找及重組過(guò)程中,PC程序會(huì )根據YUV4:2:2數據格式做數據塊判別,如果發(fā)現有出錯數據程序會(huì )做自動(dòng)拋棄處理,在對采集數據要求非常嚴格及單張采集間隔時(shí)間較長(cháng)的場(chǎng)合,程序將發(fā)送重新采集信號給采集卡,再一次采集。系統實(shí)際使用過(guò)程中發(fā)現,數據出錯情況很少出現,且重發(fā)請求后可以得到正確數據。
3 結論
利用本方案設計的圖像采集卡可以實(shí)現圖像的連續采集,并最終以bmp圖像格式保存,采集速率每秒最大25幀,適用于所有支持PAL模擬視頻格式的攝像機及監控攝像頭的圖像無(wú)損采集,具有成本低、圖像清晰等特點(diǎn),在光學(xué)顯微鏡序列切片圖像采集系統中得到了很好的應用。另外,系統經(jīng)過(guò)簡(jiǎn)單修改后也可實(shí)現4個(gè)復合視頻源輸入的分時(shí)采集功能。
評論