• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      如何利用攝像頭進(jìn)行視頻采集

      2014-03-11 07:15:24李琳黑龍江旅游職業(yè)技術(shù)學(xué)院黑龍江哈爾濱150086
      決策與信息 2014年20期
      關(guān)鍵詞:句柄驅(qū)動(dòng)程序黑龍江

      李琳黑龍江旅游職業(yè)技術(shù)學(xué)院 黑龍江哈爾濱 150086

      如何利用攝像頭進(jìn)行視頻采集

      李琳黑龍江旅游職業(yè)技術(shù)學(xué)院 黑龍江哈爾濱 150086

      視頻采集是將電子設(shè)備產(chǎn)生的視頻信號(hào)轉(zhuǎn)變成數(shù)字化的信息,然后存儲(chǔ)或是進(jìn)行實(shí)時(shí)處理的過(guò)程。本系統(tǒng)需要從攝像頭拍攝的用戶面部運(yùn)動(dòng)視頻中找到面部活動(dòng)的軌跡,控制鼠標(biāo)移動(dòng)的位置,所以捕捉到數(shù)字視頻是一個(gè)關(guān)鍵的過(guò)程。

      視頻采集;VFW技術(shù);DirectShow技術(shù)

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

      DirectShow是微軟公司提供的一套在Windows平臺(tái)上基于COM(Component Object Model)的流媒體處理的開(kāi)發(fā)包。它采用了一種叫Filter Graph的模型來(lái)管理整個(gè)數(shù)據(jù)流的處理過(guò)程,使我們可以很方便地從支持WDM驅(qū)動(dòng)模型的采集卡上捕獲數(shù)據(jù),并且進(jìn)行相應(yīng)的后期處理乃至存儲(chǔ)到文件中。

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

      Windows系統(tǒng)安裝的時(shí)候會(huì)自動(dòng)安裝VFW的相關(guān)組件,它主要由以下六個(gè)功能模塊組成,如下說(shuō)明:

      1.AVICAP.DLL:包含了執(zhí)行視頻捕獲的函數(shù),它給AVI文件I/O和視頻、音頻設(shè)備驅(qū)動(dòng)程序提供一個(gè)高級(jí)接口;

      2.MSVIDEO.DLL:用一套特殊的DrawDib函數(shù)來(lái)處理屏幕上的視頻操作;

      3.MCIAVI.DRV:此驅(qū)動(dòng)程序包括對(duì)VFW的MCI命令的解釋器的驅(qū)動(dòng)程序;

      4.AVIFILE.DLL:支持由標(biāo)準(zhǔn)多媒體I/O函數(shù)提供的更高的命令來(lái)訪問(wèn)AVI文件;

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

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

      VFW技術(shù)與DirectShow技術(shù)都可以完成對(duì)實(shí)時(shí)視頻的采集。VFW技術(shù)的優(yōu)勢(shì)在于它支持的軟件平臺(tái)小,不需要專用的設(shè)備,運(yùn)行十分穩(wěn)定,而且占用的資源較少,可以簡(jiǎn)單快捷地完成視頻采集操作;其缺點(diǎn)是需要手工操作原始數(shù)據(jù),容易出錯(cuò),而且因?yàn)檫@項(xiàng)技術(shù)出現(xiàn)較早,對(duì)現(xiàn)在的許多媒體格式不支持。DirectShow技術(shù)的優(yōu)勢(shì)在于是基于COM技術(shù)的編程接口,可以使用面向?qū)ο蟮乃枷脒M(jìn)行開(kāi)發(fā),并且對(duì)現(xiàn)在流行的多種媒體也提供了完善的解決方案;其缺點(diǎn)是需要專業(yè)的視頻采集設(shè)備,運(yùn)行速度慢,想要得到良好的畫(huà)面質(zhì)量效果,必須使用硬件輔助。

      由于我們對(duì)圖像質(zhì)量沒(méi)有太高的要求,而且需要從簡(jiǎn)單的USB攝像頭中取到視頻數(shù)據(jù),所以沒(méi)有采用DirectShow技術(shù),采用VFW技術(shù)進(jìn)行實(shí)時(shí)視頻捕捉。

      由上所述,如果要取得電腦USB攝像頭拍攝的視頻或是圖像,只需要在系統(tǒng)畫(huà)面上創(chuàng)建一個(gè)捕捉視頻的窗口,通過(guò)SendMessage函數(shù),向其發(fā)送保存視頻或是抓圖的消息指令就可以采集到系統(tǒng)需要的視頻數(shù)據(jù)。

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

      1. capCreateCaptureWindow()函數(shù),用來(lái)創(chuàng)建一個(gè)捕捉視頻的窗口,如下說(shuō)明:

      [DllImport("avicap32.dll")]

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

      參數(shù)說(shuō)明如下:

      ●strWindowName:標(biāo)識(shí)窗口的名稱;

      ●dwStyle:標(biāo)識(shí)窗口的風(fēng)格;

      ●x,y:標(biāo)識(shí)窗口左上角的坐標(biāo);

      ●width,height:標(biāo)識(shí)窗口的寬度和高度;

      ●hwdParent:標(biāo)識(shí)父窗口的句柄;

      ●nID:標(biāo)識(shí)窗口的ID;返回值:視頻捕捉窗口的句柄。

      2. SendMessage()函數(shù),用來(lái)向視頻窗口發(fā)送消息指令。

      [DllImport("user32.dll")]

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

      參數(shù)說(shuō)明如下:

      ●hwnd:標(biāo)識(shí)窗口的名稱;

      ●wMsg:要發(fā)送的消息;wParam,lParam:兩個(gè)消息的參數(shù);

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

      ()()

      猜你喜歡
      句柄驅(qū)動(dòng)程序黑龍江
      Homeless children in India publish newspaper
      Write a caption
      高校圖書(shū)館持久標(biāo)識(shí)符應(yīng)用研究
      編譯程序語(yǔ)法分析句柄問(wèn)題分析與探討
      黑龍江棄風(fēng)博弈
      能源(2016年1期)2016-12-01 05:10:04
      MFC應(yīng)用程序多線程混合顯示界面方法研究
      黑龍江 首推醫(yī)改問(wèn)詢制
      基于SPY++的軟件功能擴(kuò)展的研究
      驅(qū)動(dòng)程序更新與推薦
      驅(qū)動(dòng)程序更新與推薦
      木兰县| 秦安县| 五河县| 丰顺县| 通江县| 富平县| 麦盖提县| 九龙县| 怀柔区| 吉水县| 巴青县| 桂东县| 酉阳| 阳山县| 石林| 三亚市| 郯城县| 科尔| 闻喜县| 如东县| 威远县| 朔州市| 宜都市| 闽清县| 会泽县| 内黄县| 高尔夫| 罗山县| 商城县| 兰考县| 友谊县| 杨浦区| 洪洞县| 曲沃县| 永和县| 拉萨市| 凤冈县| 辽阳市| 临西县| 金平| 江山市|