亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        DirectShow技術(shù)在W indows CE系統(tǒng)中的圖像采集實現(xiàn)

        2011-02-08 09:06:12陳浩明王小英
        常熟理工學(xué)院學(xué)報 2011年4期
        關(guān)鍵詞:視頻流窗體預(yù)覽

        王 輝,陳浩明,王小英

        (常熟理工學(xué)院 計算機(jī)科學(xué)與工程學(xué)院,江蘇 常熟 215500)

        DirectShow是微軟公司在ActiveMovie和Video for Windows的基礎(chǔ)上推出的新一代基于COM(Component Object Model)的流媒體處理的開發(fā)包[1].它采用流水線的工作思想,可以實時處理并輸出采集到的數(shù)據(jù)流,具有很強(qiáng)的時效性和靈活性.DirectShow屏蔽了硬件設(shè)備的差異性,降低了流媒體處理軟件的開發(fā)難度,支持多種媒體數(shù)據(jù)類型的解碼播放、格式轉(zhuǎn)化,同時還具有VFW(Video for Windows)視頻采集方式所不支持的多路音視頻數(shù)據(jù)同時采集的功能,可以輕松地應(yīng)用于視頻監(jiān)視系統(tǒng)、視頻會議、視頻點(diǎn)播等系統(tǒng)的開發(fā)[2,3].

        目前隨著嵌入式系統(tǒng)的普及,DirectShow被成功地移植到了Windows CE嵌入式系統(tǒng)之中[4],為Windows CE系統(tǒng)中的多媒體應(yīng)用的開發(fā)提供了有力的支持.通過DirectShow技術(shù),可以基于Windows CE嵌入式系統(tǒng)高效的開發(fā)OCR(Optical Character Recognition)(光學(xué)字符識別)產(chǎn)品,網(wǎng)絡(luò)視頻監(jiān)視產(chǎn)品,網(wǎng)絡(luò)視頻會議播放產(chǎn)品等一些具有廣闊市場前景的流媒體應(yīng)用產(chǎn)品.

        1 DirectShow系統(tǒng)框架

        DirectShow是一個開放性的應(yīng)用架構(gòu),如圖1所示.應(yīng)用程序在使用DirectShow時將按照一定的意圖建立起相應(yīng)的Filter Graph,通過Filter Graph Manager來控制整個數(shù)據(jù)處理過程.DirectShow在Filter Graph運(yùn)行的時候接收各種事件,通過消息的方式發(fā)送到應(yīng)用程序,實現(xiàn)應(yīng)用程序與DirectShow系統(tǒng)之間的交互.

        DirectShow中有三種Filter,分別是Source Filter,Transform Filter和Rendering Filter.Source Filters主要負(fù)責(zé)取得數(shù)據(jù),數(shù)據(jù)源可以是文件、因特網(wǎng)、或者計算機(jī)里的采集卡、數(shù)字?jǐn)z像機(jī)等,然后將數(shù)據(jù)向下傳輸;Transform Filers主要負(fù)責(zé)數(shù)據(jù)的格式轉(zhuǎn)換、傳輸;Rendering Filters主要負(fù)責(zé)數(shù)據(jù)的最終去向,可以將數(shù)據(jù)傳送至聲卡、顯卡進(jìn)行多媒體的演示,也可以輸出到文件進(jìn)行存儲.每個Filter都有其自己的連接Pin.Filter通過輸入和輸出Pin進(jìn)行不同F(xiàn)ilter之間的連接.

        DirectShow采用了COM標(biāo)準(zhǔn),在Direct-Show中提供了IGraphBuilder、IMediaControl、IVideoWindow等重要接口來完成視頻流的采集與控制功能.使用DirectShow進(jìn)行攝像頭的視頻流捕獲時,首先需構(gòu)建一個ICaptureGraphBuilder2和IGraphBuilder的COM對象,然后對攝像頭驅(qū)動進(jìn)行枚舉,并將視頻捕獲濾鏡與攝像頭驅(qū)動建立關(guān)聯(lián),最終通過IGraphBuilder的對象查找IMediaControl接口和IVideoWindows接口實現(xiàn)預(yù)覽窗體的設(shè)置和流媒體的基本控制.

        圖1 DirectShow系統(tǒng)框架

        2 DirectShow在W indows CE上的實現(xiàn)

        在Windows CE5.0以上的版本中都提供了可以直接調(diào)用攝像頭的API函數(shù),但是這些函數(shù)功能都過于簡單,為此Microsoft公司又將DirectShow移植到Windows CE5.0以上的系統(tǒng)中,針對嵌入式設(shè)備的CPU的處理能力較弱以及嵌入式設(shè)備的內(nèi)存容量較小的特點(diǎn),Microsoft公司在移植DirectShow時也進(jìn)行了必要裁剪,而這也導(dǎo)致了在Windows CE上進(jìn)行DirectShow應(yīng)用的開發(fā)相比于在PC機(jī)上的開發(fā)要有所不同.

        本軟件的開發(fā)使用Visual Studio 2005開發(fā)工具中的智能設(shè)備開發(fā)環(huán)境,語言選擇了c++,因為c++可以自由地申請和釋放內(nèi)存,以節(jié)約嵌入式系統(tǒng)中的有限內(nèi)存資源.在開發(fā)Windows CE應(yīng)用程序之前,首先需要安裝Windows CE的SDK,該開發(fā)包提供了DirectShow應(yīng)用程序開發(fā)所需的庫函數(shù).

        為了在工程里面能夠正常地使用DirectShow,首先需要在工程中添加“dshow.h”頭文件以及aygshell.lib和strmiids.lib兩個靜態(tài)庫.由于DirectShow是基于COM開發(fā),因此為了方便接口的調(diào)用和釋放,可以使用智能指針CComptr<>,因此也需要添加atlbase.h這個頭文件.

        DirectShow在Windows CE系統(tǒng)上驅(qū)動攝像頭,采集圖像并保存的流程如圖2所示.

        本文在 Windows CE系統(tǒng)中通過DirectShow技術(shù)實現(xiàn)了視頻捕獲的應(yīng)用軟件,主要包括視頻流采集與預(yù)覽、視頻流和圖片保存、視頻流格式設(shè)置以及預(yù)覽窗體創(chuàng)建四個模塊.

        2.1 視頻流采集與預(yù)覽

        該模塊為整個軟件的核心部分,其流程圖如圖3所示.在該流程中,查找攝像頭的驅(qū)動并與視頻捕獲濾鏡建立關(guān)聯(lián)的方法不同于PC機(jī)上方式,因為Windows CE中的攝像頭數(shù)目有限,不需要特意地去枚舉視頻捕捉設(shè)備,Windows CE的SDK中提供了FindFirstDevice函數(shù),可以方便地查找到攝像頭設(shè)備.

        通過FindFirstDevice進(jìn)行查找設(shè)備驅(qū)動時需要使用Windows CE中攝像頭驅(qū)動的GUID,其GUID為{0xCB998A05,0x122C,0x4166,0x84,0x6A,0x93,0x3E,0x4D,0x7E,0x3C,0x86}.其實現(xiàn)代碼如下:

        圖2 DirectShow在Windows CE上的圖像采集

        2.2 視頻流和圖片保存

        在實現(xiàn)圖片或視頻保存時,DirectShow提供了設(shè)置視頻或圖片存儲格式的功能,但是這些功能受到硬件條件的制約,并非每款設(shè)備上都能實現(xiàn)對視頻或圖片格式的設(shè)置.

        對圖片進(jìn)行保存的核心實現(xiàn)代碼如下:

        圖3 視頻流捕獲模塊流程圖

        2.3 設(shè)置視頻流格式與創(chuàng)建預(yù)覽窗體

        通過DirectShow技術(shù)可以比較簡單地設(shè)置視頻流的像素、采集頻率以及圖像的位數(shù),不過這些參數(shù)的設(shè)置也需要硬件的支持才可以實現(xiàn).視頻格式的設(shè)置主要由IAMStreamConfig接口提供,該接口由ICaptureGraph-Builder2的COM對象獲得,在Windows CE中可以使用 AM_MEDIA_TYPE和VIDEOINFOHEADER結(jié)構(gòu)體來保存原始視頻流格式以及設(shè)置后的視頻流的格式.

        DirectShow在進(jìn)行預(yù)覽攝像頭采集的視頻流之前需要先設(shè)置預(yù)覽窗體,該窗體的接口通過濾鏡管理器進(jìn)行查詢得出.控制視頻窗體的接口為IVedioWindow,通過該接口可以設(shè)置視頻窗體的風(fēng)格,大小和所在窗體的位置.視頻流能夠正常運(yùn)行還需要IGraphBuild的COM對象提供IMediaControl接口來進(jìn)行控制,只有視頻流進(jìn)行了正常采集的時候,預(yù)覽窗體才會進(jìn)行視頻流的實時顯示.

        3 系統(tǒng)性能分析

        圖4 DirectShow技術(shù)實現(xiàn)的系統(tǒng)

        圖5 設(shè)置顯示窗體的大小

        圖4和圖5分別是用DirectShow技術(shù)和系統(tǒng)自帶的API函數(shù)實現(xiàn)的圖像采集系統(tǒng).采用DirectShow技術(shù)實現(xiàn)的系統(tǒng)其靈活性遠(yuǎn)遠(yuǎn)超過了采用系統(tǒng)自帶的API函數(shù)實現(xiàn)的系統(tǒng).該軟件可以設(shè)置圖像的分辨率、視頻預(yù)覽窗體的大小、視頻的旋轉(zhuǎn)、保存視頻流或從視頻流中捕獲的圖片,實現(xiàn)了視頻采集應(yīng)用的基本功能.同時,使用DirectShow自帶的濾鏡或者用戶自定義的濾鏡可以實現(xiàn)視頻流的實時處理,還可以開發(fā)更為高級的應(yīng)用功能,而使用Windows CE系統(tǒng)中自帶的一些API時,只能調(diào)用系統(tǒng)自帶的拍照程序,用戶無法對其添加其他功能,也不能對實時的視頻流進(jìn)行處理,無法開發(fā)一些具有實際價值的應(yīng)用.

        除此之外,因為DirectShow只涉及到視頻流的采集與處理,因此軟件的界面可以由開發(fā)人員自由設(shè)計,而調(diào)用Windows CE自帶的API函數(shù)時,開發(fā)人員無法對其軟件界面進(jìn)行修改.在進(jìn)行單獨(dú)的拍照測試時,使用DirectShow開發(fā)的視頻采集軟件的速度也要優(yōu)于直接調(diào)用系統(tǒng)API函數(shù)開發(fā)的系統(tǒng).

        4 結(jié)論

        本文研究了DirectShow技術(shù)的框架及關(guān)鍵技術(shù),并在Windows CE系統(tǒng)中實現(xiàn)了視頻流的圖像采集、預(yù)覽、處理、保存等功能,為今后在Windows CE嵌入式系統(tǒng)中開發(fā)視頻監(jiān)視系統(tǒng)、OCR系統(tǒng),以及將Windows CE系統(tǒng)應(yīng)用到攝像機(jī)、照相機(jī)等設(shè)備中提供了初步的技術(shù)驗證.

        [1]陸其明.DirectShow開發(fā)指南[M].北京:清華大學(xué)出版社,2009.

        [2]唐蕓,杜江紅,陳繼華.基于COM技術(shù)的DirectShow視頻采集的研究[J].三峽大學(xué)學(xué)報(自然科學(xué)版),2003(6).

        [3]黃振宇,王敏,吳濤.基于COM的Directshow Filter實現(xiàn)[J].微機(jī)發(fā)展,2004(5).

        [4]邱小平.WindowsCE 6.0開發(fā)經(jīng)典[M].北京:電子工業(yè)出版社,2009.

        猜你喜歡
        視頻流窗體預(yù)覽
        邊緣實時視頻流分析系統(tǒng)配置動態(tài)調(diào)整算法研究
        新品預(yù)覽
        基于視頻流傳輸中的擁塞控制研究
        試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
        檔案天地(2019年5期)2019-06-12 05:12:02
        11月在拍電視劇預(yù)覽表
        電視指南(2016年11期)2016-12-20 22:09:38
        美國視頻流市場首現(xiàn)飽和征兆
        基于LayeredWindow的異形窗體局部刷新
        中文信息(2014年2期)2014-03-06 23:49:14
        bauma China 2014展前預(yù)覽
        巧設(shè)WPS窗體控件讓表格填寫更規(guī)范
        視頻網(wǎng)格中流媒體業(yè)務(wù)的流量模型
        最新国产精品精品视频| 日本黄页网站免费观看| 人人狠狠综合久久亚洲婷婷| 欧美成人a视频免费专区| 国产免费网站在线观看不卡| 国产爆乳无码一区二区麻豆| 啪啪无码人妻丰满熟妇| 亚洲欧美日韩高清中文在线| 国精产品一区二区三区| 精品国产乱码一区二区三区在线| 久久久噜噜噜噜久久熟女m| 国产精品国产三级国产aⅴ下载| 日本50岁丰满熟妇xxxx| 91视频爱爱| 久久精品天堂一区二区| 狠狠色噜噜狠狠狠777米奇| 中文字幕乱码人妻一区二区三区| 白丝美女被狂躁免费视频网站| 久久精品国产一区老色匹| 亚洲欧美v国产一区二区| 最新亚洲精品国偷自产在线| 成人综合亚洲欧美一区h| 深夜黄色刺激影片在线免费观看| 宅男66lu国产在线观看| 精品丝袜人妻久久久久久| 抖射在线免费观看视频网站| 国产av一区二区制服丝袜美腿| 国产精品无码一区二区三区在| 98久9在线 | 免费| 久久er这里都是精品23| 精品日本一区二区三区| 久久久无码精品亚洲日韩按摩| 久久精品re| 亚洲av乱码国产精品观看麻豆| 亚洲av丰满熟妇在线播放| 国产精品高潮呻吟av久久4虎| 丰满人妻AV无码一区二区三区 | 巨茎中出肉欲人妻在线视频| 国产精品一区高清在线观看| 狠狠久久av一区二区三区| 一边做一边说国语对白|