999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

無線視頻信號采集系統設計

2015-06-29 17:43:00賈磊
科技資訊 2015年14期

賈磊

摘 要:無線視頻采集系統由無線攝像頭采集視頻信息并發射一定頻率的無線信號,發送出的無線模擬信號由無線信號接收器接收,通過視頻連接線把信號送到USB視頻采集卡EASYCAP中,視頻采集卡把送入的模擬信號轉換成數字信號送到連接的計算機中,實現無線視頻的采集和通過軟件在計算機中對信號進行處理。

關鍵詞:無線視頻信號采集 VC++ VFW 截圖錄像

中圖分類號:TN911 文獻標識碼:A 文章編號:1672-3791(2015)05(b)-0028-03

隨著社會的不斷進步,各領域得到了迅速的發展,機械化、自動化已經成為了現代生產生活的主流生產方式,這樣就對監控系統有了一個更高更成熟的要求,需要有一套方便可靠的視頻采集系統作為監控系統的平臺。視頻采集系統分為有線視頻傳輸網絡和無線視頻傳輸網絡,在特殊工作環境越來越占據我們大部分工作的今天,周邊的工作環境不允許使用有線網絡,并且還帶來了高建設、和高維修的費用,所以無線視頻信號的采集系統已經變成國際上重點的研究和發展方向。無線視頻采集系統可以運用在工廠,用于監控自動化高的生產設備,也可以裝載到機器人中完成特殊的任務,比如排爆機器人,降低人員的傷亡。

現在對無線信號的采集和處理主要通過視頻采集卡進行采集,有一些公司生產的采集卡提供第三方的軟件開發包(SDK)這樣便于用戶進行第二次開發。在監視計算機方面主要使用VC++,VB等開發軟件進行監視界面的開發,但是總體比起來VC++在視頻處理上比VB較為成熟,利用VC++中的VFW視頻開發包對視頻采集卡采集回來的視頻信號進行處理。

1 視頻信號采集系統組成

該系統的組成大致分為硬件和軟件部分,該文對軟件部分的設計和開發做著重的介紹,軟件部分則利用VC++6.0為軟件開發平臺。

1.1 硬件部分

硬件部分由無線攝像頭、攝像頭信號接收器和USB視頻采集卡三部分組成。硬件連接如圖1所示。

USB視頻采集卡工作原理。

該次視頻采集系統采用的是EASYCAP的USB視頻采集卡,視頻采集卡是我們進行視頻處理必不可少的硬件設備,無線攝像頭發送的和無線信號接收器接收的信號是連續的模擬信號,但是計算機卻不會識別模擬信號,計算機只識別0或1這樣的二進制碼,這樣就需要一個像本系統中的USB視頻采集卡把無線視頻接收器采集到的模擬信號進行模/數轉換,把連續的模擬信號轉換成離散的數字信號,這樣經過轉換后的數字信號就可以被計算機編輯、處理和保存了。

在該系統中視頻采集軟件通過驅動識別USB視頻采集卡并對采集回來的信息進行處理,因為視頻采集卡采集到的都是一幅幅靜態圖片,所以要在軟件中設置與USB視頻采集卡相匹配的采集速率,這樣就能對視頻信號進行靜態圖片的抓取和保存,對視頻流信號進行保存。具體數/模轉換流程如圖2。

1.2 軟件部分

軟件部分主要采用了VC++6.0來編寫采集程序。

VC++6.0由微軟公司開發,它是一個基于Windows操作系統的可視化集成開發環境,同時也具備C++語言編譯器的功能。Visual C++6.0由編輯器、調試器以及程序向導AppWizard、類向導Class Wizard等開發工具組成。

VFW(Video for windows)是視頻開發應用的一種早期技術。Microsoft的Visual C++從4.0版開始就支持Video for Windows(簡稱VFW)了,這給視頻捕獲編程帶來了很大的方便。VFW(Video for Windows)是微軟公司開發的針對于Windows自帶的一個數字視頻編輯軟件開發包。用戶不用自己安裝VFW,而是Windows系統中自帶了這個視頻開發包,方便了用戶的使用。VFW的中心就是一個AVI文件標準,AVI(Audio Video Interleave)就是一種聲音和視頻同步組合在一起的一種文件,它是一種有損的壓縮形式。

在VFW中為用戶提供了一套完整的應用程序接口(API),API可以為用戶提供一種與應用程序訪問一組例程的能力,而且用戶不需要訪問源碼和了解內部工作的細節。編寫程序時可以利用API函數來編寫應用程序,這樣就可以避免編寫無用程序,減小工作量。

VFW的視頻捕獲主要由AVICap窗口類來完成。AVICap窗口類為應用程序提供了一個基于消息的接口。在該系統中視頻的捕獲和單幀捕獲都是靠AviCap所提供的強大全面的函數和宏實現的,這是微軟公司開發的VFW開發包為我們編輯視頻采集軟件提供的一條捷徑,可以使用簡單易讀的函數和宏就可以達到我們編程需要達到的目的。

AVICap有兩種顯示視頻的格式:(1)預覽模式(preview),這是一個使用CPU資源的模式。視頻流首先從采集硬件保存到系統內存,之后通過GDI函數將視頻信息顯示在捕獲窗口中。從硬件角度講,該模式需要使用VGA卡,通過VGA卡顯示在監視器上。(2)疊加模式(Overlay)該模式顯示視頻是通過硬件的疊加,疊加的視頻是不需要通過VGA卡的,疊加視頻的硬件把自身的輸出信號與VGA輸出信號合并,最后顯示到監視器上的信號是二者的組合信號。

2 VFW視頻采集的開發

2.1 開發應用程序的步驟

VC++應用程序開發的一般步驟為:(1)創建一個項目;(2)采用workspace窗口和它的class view, file view, resource view去建立項目中的C++類、文件和資源;(3)將文件從項目中添加或刪除;(4)編輯項目的源代碼和資源;(5)為項目指定配置(Debug或Release);(6)連遍項目文件;(7)糾正連遍錯誤;(8)執行并測試生成的可執行文件;(9)測試項目文件;(10)剖視以及代碼優化。

2.2 VFW采集開發流程

使用VFW進行視頻采集大致分為如下幾個部分基本流程。

(1)使用函數capCreatureWindows(...)創建應用程序的視頻捕獲窗口。(2)使用函數capsetcallbackonstatus(...)函數處理回調函數狀態,并用capsCalLbackonerror(...)函數來設置錯誤信息的回調處理。但是該次系統設計沒有使用回調函數。(3)查找USB視頻采集卡的驅動并連接。(4)得到USB視頻采集卡的驅動信息。(5)判斷是否連接正確,并設置采集速率。

2.3 監控系統的建立

使用VFW的宏函數實現視頻捕獲和預覽,應用程序簡單、控制靈活。在本系統中,是基于VC++6.0的對話框應用程序框架實現編程開發,很多的應用程序都是基于這種開發方式的。另一部分應用就是基于文檔的編程開發,單文檔是主流。文檔應用程序的最大特點是有標準菜單、客戶區域任意調整;缺點是相對比對話框類,開發難度較大。

2.3.1 建立單文檔應用程序

該系統是基于VC++6.0的項目建立向導創建一個單文檔、無工具欄和狀態欄的應用程序,下面是建立單文檔應用程序的詳細步驟:首先啟動VC++6.0,選擇“文件”→“新建”→“工程”命令。在工程選擇卡中,選擇MFC AppWizard(exe)。

工程名稱欄中輸入工程的名稱,位置欄中輸入的是工程所保存的文件位置。

下一步需要選擇創建應用程序的類型有三類分別為:單文檔、多重文檔和基本對話框,由于本系統是視頻采集界面,所以選擇的應用程序為基本對話框應用程序,點擊完成就成功的建立了一個基本對話框的應用程序工程。

2.3.2 建立對話框

對話框是監控軟件和用戶的交互平臺,使用者可以在對話框中直接預覽由USB視頻采集卡采集到VC++中的視頻信息,并對其進行抓取截圖、錄像、暫停和退出等功能,這些功能會以按鈕的形勢提供給使用者,方便對視頻信號進行想要的處理。對話框建立的詳細步驟如下:在工作空間下選擇“resource view”選項卡打開dialog下拉文件并在dialog文件夾上右鍵單擊選擇插入dialog,創建一個新的對話框,此時新建的對話框就出現在右側工作區中,我們可以對其進行大小的任意改變。

2.3.3 添加圖像和按鈕控件

對于本次系統的設計,需要對對話框添加“圖像”和“按鈕”控件,在工具箱中就可以找到并選擇加入到對話框中的任意位置,“圖像”的作用是顯示由USB視頻采集卡轉換成的數字視頻信號,起到一個監視屏的作用,因為代碼中已經把窗口的大小作為一個指針,送到窗口創建函數capCreatureWindows()中了,當程序初始化時可以自動識別到窗口的大小并返回一個寬度和高度值,所以圖像控件可以隨意更改大小,函數中設置窗口X軸坐標和Y軸坐標的數據已經被指針所取代了。“按鈕”則為使用者提供對采集回來的視頻信息進行處理的功能,按鈕有五個各自的功能分別為:播放、截圖、錄像、暫停和退出。在添加按鈕時可以改變其名稱,這個名稱就是顯示在按鈕上的名稱,起到提示其功能的作用。當添加好按鈕時雙擊按鈕就可以進入到按鈕代碼的編輯,用來響應函數的功能,在修改控件ID后,比如一個按鈕控件,假設使ID為BUTTON1則建立按鈕后在窗口類中的對話框類中自動添加了一個名為ONBUTTON1的按鈕控件類。這個類則包含了這個按鈕所包含的一些屬性和信息。

關于窗口類,我們在運行程序的時候可以直接看到窗口對話框,在窗口建立之前系統要知道怎樣建立一個窗口,和窗口返回的一些信息要交給誰處理。這樣就需要我們創建一個窗口類來定義我們設計的窗口的各種信息,比如窗口的消息、函數的處理、窗口的風格、圖標、鼠標、菜單等等。可以使按鈕實現各種功能。下圖為設計好的對話框。

具體程序代碼不再詳述。

3 運行調試

代碼編輯完成后就要把工程保存,之后就可以編譯了,在編譯菜單下選擇編譯選項(也可以直接按F7鍵,同樣可以對源文件進行編譯),對源文件進行編譯、執行及編譯配置等操作,該菜單位于編譯器的頂層菜單中。按F5可以調試應用程序,查看程序的運行情況。如果在調試程序時遇到問題,可以使用編譯器中的“幫助”菜單調用MSDN幫助文件來解決問題。編譯后在工程的文件夾下有個一DEBUG的文件夾中就會生成應用程序圖標,雙擊就會運行應用程序。查看應用程序的運行情況,以及各個功能的實現情況是否正常。

在運行程序后,因為視頻信號進入到USB視頻采集卡后,采集卡又對信號進行一次硬件壓縮,性質類似于對信號進行了編碼,而本系統采用的是CapAvi來采集的信號,把壓縮過的信號直接顯示到了預覽窗口中,所以會有信號的不穩定與數據的丟失。

其他的功能正常,程序運行正常。

4 結語

該系統基于VC++6.0利用VFW開發包,對無線視頻信號進行采集和處理系統進行了設計。搭建了一個無線視頻信號采集的平臺。該系統主要的開發部分為軟件部分,硬件只需進行驅動的安裝和硬件連接即可。通過運行調試,取得了比較好的效果。

參考文獻

[1] 劉銳寧,梁水,李偉明.Visual C++項目開發案例全程實錄[M].北京.清華大學出版社,2011:1-62

[2] 任觀就,張永林.實時視頻圖像捕獲的實現方法[J].計算機工程,2002,28(8):268-270.

[3] 陳琿,張會汀,周杰華.利用VFW實現實時視頻捕獲及其應用[J].計算機應用.2003,23(8):141-143.

[4] 張艷珍,鞏玉國,歐宗瑛,等.基于Windwos平臺的視頻捕獲技術研究[J].計算機工程與設計,2002(3):10-12.

主站蜘蛛池模板: 人人爽人人爽人人片| 无码一区18禁| 国产91麻豆视频| 久久精品波多野结衣| 久久五月天综合| 91无码人妻精品一区| 国产jizzjizz视频| 毛片免费在线| v天堂中文在线| 国产精品永久在线| 免费观看精品视频999| 亚洲欧美国产视频| 亚洲精品麻豆| 香蕉伊思人视频| 久热这里只有精品6| 四虎成人精品| 中文字幕在线永久在线视频2020| 88av在线| 麻豆a级片| 久久国产精品无码hdav| 免费无码一区二区| 国产成人一区| 国产精品亚洲一区二区三区在线观看 | 国产欧美日韩一区二区视频在线| 麻豆国产原创视频在线播放| 中文字幕丝袜一区二区| 四虎成人免费毛片| 热九九精品| 福利在线一区| 一级不卡毛片| 67194成是人免费无码| 精品无码专区亚洲| 亚洲精品视频免费观看| 精品1区2区3区| 人妻一区二区三区无码精品一区| 亚洲欧美一区二区三区麻豆| 色天堂无毒不卡| 精品国产中文一级毛片在线看| 成年人国产网站| 婷婷色狠狠干| 在线免费不卡视频| 国产成+人+综合+亚洲欧美| 日本成人福利视频| 中文精品久久久久国产网址 | 国产丰满大乳无码免费播放| 99性视频| 久久久久久久97| 美女无遮挡拍拍拍免费视频| 亚洲精品无码在线播放网站| 午夜日b视频| 青草视频在线观看国产| 老司机精品99在线播放| 欧美国产精品不卡在线观看| AV无码一区二区三区四区| 好紧好深好大乳无码中文字幕| 日韩黄色大片免费看| 国产一区二区三区免费观看| 大学生久久香蕉国产线观看| 99精品伊人久久久大香线蕉| 国产91精选在线观看| 亚洲狼网站狼狼鲁亚洲下载| 国产99热| 欧美区在线播放| 久久91精品牛牛| 国产成人精品亚洲日本对白优播| 精品欧美视频| 欧美激情二区三区| 国产在线拍偷自揄观看视频网站| 国产激情无码一区二区免费| 制服丝袜一区二区三区在线| 为你提供最新久久精品久久综合| 91av国产在线| 亚洲第一区欧美国产综合| 国产第一福利影院| 中国黄色一级视频| 精品三级网站| 国产视频你懂得| 在线观看国产精品第一区免费 | 国产综合色在线视频播放线视| 国产成人三级| 国产成人麻豆精品| 日韩欧美中文|