在vs2008+Vista中DirectShow的使用
时间:2022-09-20 10:01:20
最近想用OpenCV库进行视频处理,但十分不幸的是新买的笔记本装的是Vista,对网络摄像机只能用DirectShow*方式控制,而不能用在XP里还能使用的vfw方式,而大多数OpenCV的例程都用vfw方式实现的,得自己去转变成 DirectShow的方式。当然了,DirectShow 也将要被Media Foundatio
最近想用OpenCV库进行视频处理,但十分不幸的是新买的笔记本装的是Vista,对网络摄像机只能用DirectShow*方式控制,而不能用在XP里还能使用的vfw方式,而大多数OpenCV的例程都用vfw方式实现的,得自己去转变成 DirectShow的方式。当然了,DirectShow 也将要被Media Foundationt淘汰了。但分析一下,在XP/ Vista/ Windows7 时代还是会被保留的。
DirectShow在DirectX9.0b之前都包括在这个库中,在DX9.0c开始,则被独立成库,要另外安装**。(注,在XP(sp2)中默认安装了DX9.0c而Vista默认安装了DX10。)后来MS又把DirectShow放入了WindowsSDK中。在vs2008 中的 WinSDK6.0a 已经包含了DirectShow,但在vs2005中的WinSDK则没有。
由于懒得重装XP系统,所以就直接给本本装了个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 中下载了个例程,解压,打开工程文件,F5直接编译,接着~~~~
碰到了经典的 error C2146: syntax error : missing ';' before identifier 'PVOID64' 错误。上网查了好久,终于明白就是库连接有问题,找不到相应的.h文件,解决方法就是装DX(和DS),和改头文件连接路径。看了看,项目的目录,发现,在Debug目录下已经有个叫DirectShow的目录,里面已经包含了相关的头文件和库文件了。而vs2008已经把WinSDK安装好了,就是说DS也已经安装好了。但是由于原配的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
检查编译命令,看看是否已经包括新的目录。
F5,再次编译。
还是告诉在...\DirectShow\Include\dxtrans.h 头文件中,不能打开d3d.h。在次看看d3d.h 在啊,但认真看看只是在原配的DirectShow目录中,而新的WinSDK6.0a没有,那这么办???
咦~~~!怎么还是在原来的DirectShow目录找dxtrans.h,看看文件CameraDS.h:
#include
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__
#include
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
在Word文档中怎么给每行添加项目符号?
![](https://img.aspxhome.com/file/2023/1/24861_0s.jpg)
如何清除Win 8搜索痕迹记录的技巧介绍
![](https://img.aspxhome.com/file/2023/29/a258488_0s.jpg)
Excel 2016怎么自动保存?Excel2016自动保存的方法
![](https://img.aspxhome.com/file/2023/7/40407_0s.jpg)
如何使用WPS做条形码
Win10文件夹如何设置密码?Win10文件夹设置密码的方法
![](https://img.aspxhome.com/file/2023/25/a218982_0s.png)
在Word2003文档中替换格式方法步骤
![](https://img.aspxhome.com/file/2023/9/29909_0s.jpg)
如何在Macbook中提取和添加默认壁纸?
![](https://img.aspxhome.com/file/2023/4/a202754_0s.jpeg)
Excel必学的10个函数
![](https://img.aspxhome.com/file/2023/5/a157245_0s.png)
win10兼容性如何?win10兼容模式开启方法
![](https://img.aspxhome.com/file/2023/2/49312_0s.png)
Excel函数之求平方根的SQRT函数
![](https://img.aspxhome.com/file/2023/8/a156598_0s.jpg)
怎样在WPS表格中进行快速查找
详解Word文档另类技巧六则
Win10如何重命名本地磁盘以方便使用
![](https://img.aspxhome.com/file/2023/28/a250912_0s.jpg)
Win10哪个版本稳定好用?Win10系统最稳定的版本下载
![](https://img.aspxhome.com/file/2023/25/a217726_0s.jpg)
Word 2007如何设置制表位?
![](https://img.aspxhome.com/file/2023/2/22622_0s.jpg)
excel表格如何作表头
如何修改wps文字作者信息
Vista技巧:何在Vista上运行不兼容的旧版本软件
excel表格a3如何变a4打印
Win10电脑提示端口本占用怎么办?
![](https://img.aspxhome.com/file/2023/25/a218640_0s.png)