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

        ?

        用Delphi+DSPack開發(fā)數(shù)碼攝像程序

        2007-12-31 00:00:00
        計(jì)算機(jī)時(shí)代 2007年10期

        摘 要:考生肖像信息的即時(shí)采集越來越多地被應(yīng)用到招生考試工作中。文章介紹了如何在Windows系統(tǒng)上運(yùn)用Debhi 7和DSPack快速開發(fā)基于Direct Show技術(shù)的數(shù)碼攝像程序。

        關(guān)鍵詞:數(shù)碼攝像;DSPack;DirectX;Direct Show

        0 引言

        在招生信息采集工作中,一個(gè)非常重要的部分就是采集考生的肖像信息。隨著考生人數(shù)的激增與工作要求的提高,肖像采集模式的不斷調(diào)整,從最早的掃描儀掃描照片、數(shù)碼相機(jī)聯(lián)機(jī)拍攝一直到現(xiàn)在的視頻捕獲卡+攝像機(jī)快速采集,以不斷適應(yīng)招生形勢的變化。我們把聯(lián)機(jī)直接拍攝考生肖像的程序叫數(shù)碼攝像程序。對(duì)于數(shù)碼攝像程序,早期大多利用Video forWindow編寫,它支持的設(shè)備種類少,且實(shí)現(xiàn)難度較高?,F(xiàn)在利用Direct Show可以開發(fā)出支持?jǐn)z像頭、內(nèi)置或外置視頻采集卡、1394卡、內(nèi)置或外置電視卡等多種設(shè)備的數(shù)碼攝像程序,但直接用Direct Show開發(fā),難度同樣很高且開發(fā)效率也不高??墒怯辛薉SPack情況就完全不同了,利用它來開發(fā)一個(gè)數(shù)碼攝像程序,幾乎是一件輕而易舉的事情。

        DSPack是一組封裝了MS Direct Show和DirectX技術(shù)的組件,用于在安裝了DirectX9的Windows 9x、ME、2000和Windows XP系統(tǒng)上的多媒體應(yīng)用系統(tǒng)的開發(fā)。它支持Delphi5、6、7和C++ Builder 6,它不僅功能強(qiáng)大而且完全免費(fèi)。本文對(duì)利用DSPack開發(fā)視頻捕獲方式的數(shù)碼攝像程序做一個(gè)粗淺的介紹。

        1 DSPack的安裝

        DSPack的下載地址為: http://www.progdigy.com/modules.php?name=DSPack,當(dāng)前版本是2.3.4。為了避免不必要的麻煩,先要確認(rèn)系統(tǒng)中已裝上了DirectX9,然后再安裝DSPack。如果想進(jìn)行VMR、Direct3D或ASF方面的開發(fā),則還需要下載并安裝一些別的內(nèi)容(請(qǐng)參考所下載的DSPack234.zip中所含Readme.htm中文件的相關(guān)內(nèi)容)。下面是DSPack的安裝步驟:

        (1)將DSPack解壓至任意目錄。假設(shè)解壓至Programfiles\\DSPack目錄,然后查看,有沒有只讀屬性的文件,如果有,請(qǐng)把只讀屬性去掉;

        (2)以Delphi 7為例,在Tools>Environment Options>Li-brary>Library path中,添加以下搜索路徑:

        Program files\\DSPack\\src\\Directx9

        Program files\\DSPack\\src\\DSPack

        (3)用Files>open分別打開Program files\\packages下的DirectX9_D7.dpk和DSPack_D7.dpk按Compile鈕進(jìn)行編譯;

        (4)最后打開Program files\\packages下的DSPackDesign_D7.dpk,按Install鈕進(jìn)行安裝。

        以上步驟如果順利完成,并且在Delphi工具欄上出現(xiàn)了如圖1所示的DSPack工具欄,則安裝成功。

        2 一個(gè)最基本的攝像程序功能概述

        它由預(yù)覽窗口、取景框、照片名輸入框、拍攝鈕、照片和設(shè)備連接與設(shè)置這六個(gè)部分組成。其使用步驟與方法為:首先,在程序運(yùn)行時(shí)所顯示的視頻設(shè)備下拉列表中,選中其中一個(gè)(如果有多個(gè)的話),按連接按鈕,程序就會(huì)連接指定的視頻設(shè)備,如果連接正常就會(huì)在預(yù)覽窗口中即時(shí)顯示被拍攝對(duì)像;然后輸入照片名,自由拖動(dòng)取景框,框住要拍攝的部分(通常是頭像),按拍攝按鈕就可以把取景框中的內(nèi)容拍攝下來顯示在照片上,并同時(shí)保存為“照片名.jpg”。

        圖2所示,這是通過一個(gè)Logitech QuickCam Pro 4000攝像頭拍攝某游戲雜志的封面女主角所看到的程序運(yùn)行效果截圖。

        3 關(guān)鍵點(diǎn)說明

        (1)所用到的DSPack組件

        FilterGraph、Filter、SampleGrabber和VideoWindow各一個(gè),將Filter、SampleGrabber和VideoWindow的FilterGraph屬性都設(shè)置成FilterGraph的name,并注意將FilterGraph的Mode屬性設(shè)置成gmCapture。

        DSPack及普通VCL的組件分布如圖3所示。

        (2)視頻設(shè)備的聯(lián)接因?yàn)槭且脕砼臄z照片,所以我們要求只列出支持DireShow的視頻設(shè)備就可以了,否則在設(shè)備列表中將出現(xiàn)一大堆與應(yīng)用無關(guān)的設(shè)備。方法是聲明一個(gè)TsysDevEnum型變量sysdev,在表單的OnCreate中,利用TSysDevEnum.Create(CLSID_VideolnputDeviceCategory)把視頻設(shè)備列表取到sysdev中。

        (3)取景框的制作

        如果用Video for Window方式開發(fā)過視頻捕獲程序,就會(huì)知道要在一個(gè)視頻流上放一個(gè)框不是一件容易的事——任何控件往上一放,只要一連接視頻,它就會(huì)消失。傳統(tǒng)的辦法是放一個(gè)Timer,在OnTimer事件中不停地調(diào)用API直接寫屏畫框。這種方式控制起來比較復(fù)雜,常常會(huì)由于interval設(shè)置得不當(dāng)或因?yàn)闄C(jī)器性能的差異,出現(xiàn)取景框拖動(dòng)時(shí)的軌跡殘留與閃爍現(xiàn)象。在DSPack中可以用DSVideoWindowEx2來代替VideoWindow,因?yàn)樗蠧anvas,而且可以把視頻輸出到任何有Handle的控件上。如何利用它的這一特性來做可以移動(dòng)的取景框,可以參考DSPack自帶的一個(gè)例子(在Dspack'tDemoskDSVideoWindowEXkPlayWin中)。其實(shí),用第二種方法也不簡單。更簡單更直接的辦法是可以在SampleGrabber的OnBuffer事件中,利用其GetBitmap方法,將視頻流導(dǎo)向到一個(gè)普通的Image上,而在一個(gè)\romage上,可以想放什么就放什么,控制起來很方便。因?yàn)榇翱谏蠜]有必要放兩個(gè)一樣的視頻,所以把VideoWindow的高和寬都設(shè)置成了0。這是個(gè)典型的懶人懶辦法,其它副作用沒發(fā)現(xiàn),只是多了個(gè)Image。

        (4)視頻設(shè)備的屬性設(shè)置

        有時(shí)候連接到程序中的視頻設(shè)備并沒有工作在想要的模式中,或者為了利用它們自帶的一些功能,來改善畫面的質(zhì)量,而又想在程序中直接調(diào)出如圖4所示的設(shè)置窗口時(shí),就需要用到DsUtil的HaveFilterPropertyPage()、ShowFilterPropertyPage()和ShowPinpropertyPageO了。

        4 結(jié)束語

        本文對(duì)“數(shù)碼攝像”的主要功能(6種)作了介紹,并描述了如何實(shí)現(xiàn)一個(gè)最基本的數(shù)碼攝像應(yīng)用過程,但在實(shí)際中要考慮的因素問題還有很多,如:錯(cuò)誤控制、自適應(yīng)視頻流的大小、允許視頻的縮放、照片的存儲(chǔ)控制、操作人員的權(quán)限控制、頭像的自動(dòng)切割等等。

        91亚洲精品久久久蜜桃| 欧洲熟妇色xxxx欧美老妇多毛图片| 亚洲综合无码一区二区| 少妇的诱惑免费在线观看| 亚洲国产av精品一区二| 国产精品国产三级国产av品爱| 4399理论片午午伦夜理片| 久久久精品3d动漫一区二区三区| 成人午夜视频在线观看高清| 亚洲av成人av三上悠亚| 亚洲欧美日韩国产精品一区二区| 无码专区中文字幕DVD| 亚洲中文有码一区二区| 国产精品一区二区三区专区| 成人国内精品久久久久一区| 精品国产18禁久久久久久久| 亚洲综合天堂av网站在线观看| 国产av在线观看久久| 国产激情内射在线影院| 岛国精品一区二区三区| 久久黄色精品内射胖女人| 亚洲成av人在线观看网址| 伴郎粗大的内捧猛烈进出视频观看| 免费大学生国产在线观看p| 在线中文字幕一区二区| 国产乱人激情h在线观看| 中文字幕乱码人妻无码久久麻豆| 国产精品很黄很色很爽的网站| 包皮上有一点一点白色的| 一本一道av无码中文字幕| 亚洲无AV码一区二区三区| 亚洲中文字幕第15页| 亚洲熟妇少妇任你躁在线观看无码| 色丁香色婷婷| 日韩精品免费一区二区中文字幕| 亚洲av成人一区二区三区本码 | 无码精品国产va在线观看| 久国产精品久久精品国产四虎 | 国产成人综合在线视频| 免费大学生国产在线观看p| 国产精品三区四区亚洲av|