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

如何利用攝像頭進行視頻采集

2014-03-11 07:15:24李琳黑龍江旅游職業技術學院黑龍江哈爾濱150086
決策與信息 2014年20期

李琳黑龍江旅游職業技術學院 黑龍江哈爾濱 150086

如何利用攝像頭進行視頻采集

李琳黑龍江旅游職業技術學院 黑龍江哈爾濱 150086

視頻采集是將電子設備產生的視頻信號轉變成數字化的信息,然后存儲或是進行實時處理的過程。本系統需要從攝像頭拍攝的用戶面部運動視頻中找到面部活動的軌跡,控制鼠標移動的位置,所以捕捉到數字視頻是一個關鍵的過程。

視頻采集;VFW技術;DirectShow技術

微軟公司提供了兩種用來捕捉視頻的技術,一種是VFW(Video for Windows),另一種是DirectShow。

DirectShow是微軟公司提供的一套在Windows平臺上基于COM(Component Object Model)的流媒體處理的開發包。它采用了一種叫Filter Graph的模型來管理整個數據流的處理過程,使我們可以很方便地從支持WDM驅動模型的采集卡上捕獲數據,并且進行相應的后期處理乃至存儲到文件中。

VFW(Video for Windows)也是由Microsoft推出的關于數字視頻的一個軟件開發包,VFW的核心是AVI(Audio Video Interleave)文件標準。圍繞AVI文件,VFW推出了一整套完整的視頻采集、壓縮、解壓縮、回放和編輯的應用程序接口(API),并給程序員提供.VBX和AVICap窗口類的高級編程工具,使程序員能通過發送消息或設置屬性來捕獲、播放和編輯視頻剪輯。

Windows系統安裝的時候會自動安裝VFW的相關組件,它主要由以下六個功能模塊組成,如下說明:

1.AVICAP.DLL:包含了執行視頻捕獲的函數,它給AVI文件I/O和視頻、音頻設備驅動程序提供一個高級接口;

2.MSVIDEO.DLL:用一套特殊的DrawDib函數來處理屏幕上的視頻操作;

3.MCIAVI.DRV:此驅動程序包括對VFW的MCI命令的解釋器的驅動程序;

4.AVIFILE.DLL:支持由標準多媒體I/O函數提供的更高的命令來訪問AVI文件;

5.ICM:壓縮管理器,用于管理視頻壓縮-解壓縮的編解碼器(CODEC);

6.ACM:音頻壓縮管理器,提供與ICM相似的服務,不同的是它適于波形音頻。

VFW技術與DirectShow技術都可以完成對實時視頻的采集。VFW技術的優勢在于它支持的軟件平臺小,不需要專用的設備,運行十分穩定,而且占用的資源較少,可以簡單快捷地完成視頻采集操作;其缺點是需要手工操作原始數據,容易出錯,而且因為這項技術出現較早,對現在的許多媒體格式不支持。DirectShow技術的優勢在于是基于COM技術的編程接口,可以使用面向對象的思想進行開發,并且對現在流行的多種媒體也提供了完善的解決方案;其缺點是需要專業的視頻采集設備,運行速度慢,想要得到良好的畫面質量效果,必須使用硬件輔助。

由于我們對圖像質量沒有太高的要求,而且需要從簡單的USB攝像頭中取到視頻數據,所以沒有采用DirectShow技術,采用VFW技術進行實時視頻捕捉。

由上所述,如果要取得電腦USB攝像頭拍攝的視頻或是圖像,只需要在系統畫面上創建一個捕捉視頻的窗口,通過SendMessage函數,向其發送保存視頻或是抓圖的消息指令就可以采集到系統需要的視頻數據。

詳細來說,可以利用V F W軟件包中的AV I F I L E.D L L和U S E R.D L L函數來捕捉攝像頭中的視頻數據,首先用capCreateCaptureWindow()函數創建一個捕捉視頻的窗口,這個函數返回一個窗口句柄,這個句柄就是捕獲窗口的句柄,后面其他操作如指定視頻設備,中止、指定幀速度等就是利用SendMessage()函數發送消息指令給該句柄來實現。函數說明如下所示:

1. capCreateCaptureWindow()函數,用來創建一個捕捉視頻的窗口,如下說明:

[DllImport("avicap32.dll")]

private static extern int capCreateCaptureWindow( string strWindowName, int dwStyle, int x, int y ,int width, int height , int hwdParent, int nID );

參數說明如下:

●strWindowName:標識窗口的名稱;

●dwStyle:標識窗口的風格;

●x,y:標識窗口左上角的坐標;

●width,height:標識窗口的寬度和高度;

●hwdParent:標識父窗口的句柄;

●nID:標識窗口的ID;返回值:視頻捕捉窗口的句柄。

2. SendMessage()函數,用來向視頻窗口發送消息指令。

[DllImport("user32.dll")]

private static extern int SendMessage( int hwnd , int wMsg, int wParam , int lParam );

參數說明如下:

●hwnd:標識窗口的名稱;

●wMsg:要發送的消息;wParam,lParam:兩個消息的參數;

視頻獲取的核心代碼如下所示:

()()

主站蜘蛛池模板: 欧美国产在线看| 色屁屁一区二区三区视频国产| jizz亚洲高清在线观看| 亚洲一区二区日韩欧美gif| 欧美不卡视频在线观看| 亚洲第一黄色网址| 青青久视频| 亚洲国产成人麻豆精品| 亚洲人人视频| 中文字幕在线观看日本| 国产精品第一区| 中文字幕无码av专区久久| 午夜毛片免费看| 99视频有精品视频免费观看| 真实国产乱子伦视频 | 亚洲欧美日韩动漫| 日本欧美中文字幕精品亚洲| 一区二区三区精品视频在线观看| 永久免费无码成人网站| 国产欧美日韩va另类在线播放| 51国产偷自视频区视频手机观看| 国产精品冒白浆免费视频| 日韩在线成年视频人网站观看| 欧美激情第一区| AV老司机AV天堂| 亚洲一级毛片免费观看| 久久99精品国产麻豆宅宅| 国产乱子伦视频三区| 欧美色视频在线| 国产成人福利在线视老湿机| 亚洲高清无码精品| 中文字幕1区2区| 黄色一级视频欧美| 毛片视频网址| 亚洲中文精品人人永久免费| 精品少妇人妻av无码久久| 亚洲欧美日韩天堂| 国产福利免费在线观看| 中文字幕免费视频| 极品私人尤物在线精品首页 | Aⅴ无码专区在线观看| 国产女人水多毛片18| 国产一级无码不卡视频| 色老头综合网| 国产精品久久精品| 国产69囗曝护士吞精在线视频| 国产老女人精品免费视频| 国产亚洲精久久久久久无码AV | 国产精品一线天| 久996视频精品免费观看| 欧美精品v| 精品撒尿视频一区二区三区| 国产一区二区三区在线精品专区| 大香伊人久久| 国产欧美综合在线观看第七页| 亚洲欧美成人网| 国产黄在线免费观看| 老司机午夜精品网站在线观看 | 亚洲精品制服丝袜二区| 老司机久久精品视频| 亚洲 成人国产| 综合人妻久久一区二区精品| 亚洲视频二| 九色在线观看视频| 亚洲男人的天堂视频| 亚洲欧美在线精品一区二区| 先锋资源久久| 国产成人免费手机在线观看视频| 午夜人性色福利无码视频在线观看| 中文字幕2区| 国产偷国产偷在线高清| 欧洲极品无码一区二区三区| jizz在线免费播放| 亚洲综合专区| 日韩不卡免费视频| 波多野结衣一区二区三区四区视频| 欧美色视频在线| 久久精品视频一| 亚洲第一区精品日韩在线播放| 免费人成黄页在线观看国产| 精品无码国产一区二区三区AV| 国产一区二区三区在线观看视频 |