最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在vs2008+Vista中DirectShow的使用

  發(fā)布時間:2009-05-14 15:55:33   作者:佚名   我要評論
最近想用OpenCV庫進行視頻處理,但十分不幸的是新買的筆記本裝的是Vista,對網(wǎng)絡(luò)攝像機只能用DirectShow*方式控制,而不能用在XP里還能使用的vfw方式,而大多數(shù)OpenCV的例程都用vfw方式實現(xiàn)的,得自己去轉(zhuǎn)變成 DirectShow的方式。當然了,DirectShow 也將要被Media Foundatio

最近想用OpenCV庫進行視頻處理,但十分不幸的是新買的筆記本裝的是Vista,對網(wǎng)絡(luò)攝像機只能用DirectShow*方式控制,而不能用在XP里還能使用的vfw方式,而大多數(shù)OpenCV的例程都用vfw方式實現(xiàn)的,得自己去轉(zhuǎn)變成 DirectShow的方式。當然了,DirectShow 也將要被Media Foundationt淘汰了。但分析一下,在XP/ Vista/ Windows7 時代還是會被保留的。

DirectShow在DirectX9.0b之前都包括在這個庫中,在DX9.0c開始,則被獨立成庫,要另外安裝**。(注,在XP(sp2)中默認安裝了DX9.0c而Vista默認安裝了DX10。)后來MS又把DirectShow放入了WindowsSDK中。在vs2008 中的 WinSDK6.0a 已經(jīng)包含了DirectShow,但在vs2005中的WinSDK則沒有。

由于懶得重裝XP系統(tǒng),所以就直接給本本裝了個vs2008,嘗試使用DirectShow。在http://www.opencv.org.cn/index.php/%E4%BD%BF%E7%94%A8DirectShow%E9%87%87%E9%9B%86%E5%9B%BE%E5%83%8F 中下載了個例程,解壓,打開工程文件,F(xiàn)5直接編譯,接著~~~~

碰到了經(jīng)典的 error C2146: syntax error : missing ';' before identifier 'PVOID64' 錯誤。上網(wǎng)查了好久,終于明白就是庫連接有問題,找不到相應(yīng)的.h文件,解決方法就是裝DX(和DS),和改頭文件連接路徑。看了看,項目的目錄,發(fā)現(xiàn),在Debug目錄下已經(jīng)有個叫DirectShow的目錄,里面已經(jīng)包含了相關(guān)的頭文件和庫文件了。而vs2008已經(jīng)把WinSDK安裝好了,就是說DS也已經(jīng)安裝好了。但是由于原配的DirectShow目錄中的文件是針對DX9的DS,而實際Vista中安裝的是DX10和WinSDK6.0a,所以編譯出錯。
因此,在Project->Settings->Settings for:(All configurations)的C/C++和Link中,把所有的DirectShow/Include,變成 $(FrameworkSDKDir)Include;把所有的DirectShow/Lib,變成 $(FrameworkSDKDir)Lib。
改動的有:
...C/C++->Common->Additional include directories
...Link->Common->Additional library directories

檢查編譯命令,看看是否已經(jīng)包括新的目錄。

F5,再次編譯。

還是告訴在...\DirectShow\Include\dxtrans.h 頭文件中,不能打開d3d.h。在次看看d3d.h 在啊,但認真看看只是在原配的DirectShow目錄中,而新的WinSDK6.0a沒有,那這么辦???
咦~~~!怎么還是在原來的DirectShow目錄找dxtrans.h,看看文件CameraDS.h:
#include <atlbase.h>
#include "DirectShow/Include/qedit.h"
#include "DirectShow/Include/dshow.h"
#include <windows.h>
#include <cxcore.h>

啊,得把引用 "DirectShow/Include/qedit.h" 改成 <qedit.h> ,把引用 "DirectShow/Include/dshow.h" 改成 <dshow.h>。 存盤后,編譯,再次出現(xiàn)錯誤:

1>CameraDS.cpp
1>c:\program files\microsoft sdks\windows\v6.0a\include\qedit.h(498) : fatal error C1083: File (Include) can not open: "dxtrans.h": No such file or directory

一查看,沒在WinSDK的目錄上找到dxtrans.h,上網(wǎng)一查,新的DS不在包含這個文件。上網(wǎng)找到了解決方案。
http://www.cnblogs.com/pcmax/archive/2008/11/22/1338989.html
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2617687&SiteID=1

現(xiàn)在采用的是第二種方法:

在調(diào)用 包含qedit.h 的命令前加入四句:
#define __IDxtCompositor_INTERFACE_DEFINED__ 再修改qedit.h 中引用 dxtrans.h 的部分,要求注釋掉
#include "oaidl.h"
#include "ocidl.h"
//#include "dxtrans.h"
#include "amstream.h"

再編譯運行,成功??! 選擇設(shè)置攝像頭,視頻顯示,點擊q鍵,退出。

參考:

*DirectShow: http://msdn.microsoft.com/en-us/library/ms783323(VS.85).aspx
**DirectX(Feb 2005): http://dev.csdn.net/article/62/62941.shtm

#define __IDxtAlphaSetter_INTERFACE_DEFINED__

#define __IDxtJpeg_INTERFACE_DEFINED__

#define __IDxtKey_INTERFACE_DEFINED__

#include <qedit.h>

相關(guān)文章

  • Vista資源管理器怎么使用名稱分組篩選文件夾?

    Vista資源管理器怎么使用名稱分組篩選文件夾?Vista系統(tǒng)中想要搜索文件夾,可以使用資源管理器來操作,下面我們就來看看詳細的教程,需要的朋友可以參考下
    2019-03-13
  • Windows Vista桌面窗口管理器功能詳解

    桌面窗口管理器 是Vista中的一個新組件:Desktop Window Manager(DWM)。下面小編就帶來Windows Vista桌面窗口管理器功能詳解供大家了解,一起來看看吧
    2017-03-21
  • 什么是uac功能?Vista下的UAC功能詳細介紹

    什么是uac功能?UAC的全稱是User Account Control(用戶賬戶控制),它是Windows Vista提供的一個安全特性。而Vista下的UAC功能有什么作用?本文提供Vista下的UAC功能詳細
    2017-03-15
  • 微軟4月11日后將停止對Windows Vista支持

    現(xiàn)在還有很多朋友在使用Vista系統(tǒng),但是Vista系統(tǒng)最近發(fā)出警告,提示微軟即將停止對Vista支持,4月11日以后系統(tǒng)將不會收到官方的安全更新,下面我們就來看看詳細的教程,需
    2017-02-13
  • 全民用win10 Vista電腦也可以運行Win10

    為了讓W(xué)indows 10能夠替代現(xiàn)有的舊版Windows,其系統(tǒng)要求并不高。除了Windows 8.1設(shè)備,現(xiàn)有的Windows 8、Windows 7甚至Vista電腦都可以跑得動Windows 10
    2014-10-20
  • VISTA 下如何通過紅外線連接外接設(shè)備 以索尼手機為例

    這篇文章主要為大家介紹了Vista中如何通過紅外線連接外接設(shè)備,Windows Vista操作系統(tǒng)中如何通過紅外線連接外接設(shè)備呢?本文有具體的步驟,需要的朋友可以參考下
    2014-09-18
  • Vista添加新的文件或位置到索引的方法

    索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結(jié)構(gòu),巧妙的添加新的文件或者位置是保證搜索效率的最好的辦法,需要的朋友可以參考下
    2014-09-17
  • 解決Vista系統(tǒng)ADSL撥號時的815錯誤

    Windows Vista的用戶遇到了一個問題:鐵通的ADSL寬帶但是上網(wǎng)不穩(wěn)定,經(jīng)常出現(xiàn)815錯誤的警告,那么該如何解決呢?本文將將您如何解決Windows Vista中815錯誤,需要的朋友可
    2014-09-17
  • 隱藏網(wǎng)上鄰居中的Vista工作站的技巧

    這篇文章主要為大家介紹了Vista系統(tǒng)中如何隱藏網(wǎng)上鄰居,大家都知道網(wǎng)上鄰居在默認狀態(tài)下是照常顯示的,有些人不想顯示自己的網(wǎng)上鄰居,但又不會設(shè)置,本文就可以解決你的
    2014-09-17
  • Vista技巧:何在Vista上運行不兼容的舊版本軟件

    管Win XP上的很多程序在Vista下都能夠運行,但還是有一些雖然能夠運行但存在一些問題,或是完全無法運行的程序。那么這樣的話你要怎么辦呢?本篇文章將詳細介紹此問題的解決
    2014-09-17

最新評論

株洲县| 勃利县| 抚宁县| 抚远县| 抚远县| 紫金县| 大足县| 临汾市| 磴口县| 鲁山县| 永康市| 石阡县| 方山县| 舟山市| 巩义市| 晋中市| 潞城市| 芒康县| 德化县| 荔浦县| 马鞍山市| 南丹县| 阿图什市| 房产| 南部县| 甘泉县| 罗山县| 玉溪市| 娄底市| 新田县| 东乌| 定西市| 科技| 喀什市| 宁武县| 商南县| 潜江市| 磐石市| 龙门县| 安远县| 平遥县|