我的编程空间,编程开发者的网络收藏夹
学习永远不晚

在vs2008+Vista中DirectShow的使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

在vs2008+Vista中DirectShow的使用

最近想用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 <atlbase.h>
#include "DirectShow/Include/qedit.h"
#include "DirectShow/Include/dshow.h"
#include <windows.h>
#include <cxcore.h>

啊,得把引用 "DirectShow/Include/qedit.h#define __IDxtCompositor_INTERFACE_DEFINED__ 再修改qedit.h 中引用 dxtrans.h 的部分,要求注释掉
#include "oaidl.h"
#include "ocidl.h"
//#include "dxtrans.h"
#include "amstream.h"

再编译运行,成功!! 选择设置摄像头,视频显示,点击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>

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

在vs2008+Vista中DirectShow的使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

在vs2008+Vista中DirectShow的使用

最近想用OpenCV库进行视频处理,但十分不幸的是新买的笔记本装的是Vista,对网络摄像机只能用DirectShow*方式控制,而不能用在XP里还能使用的vfw方式,而大多数OpenCV的例程都用vfw方式实现的,得自己去js转变成 Di
2023-05-24

在vs2008+Vista中DirectShow的用法

这篇文章主要讲解了“在vs2008+Vista中DirectShow的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在vs2008+Vista中DirectShow的用法”吧!最近想用O
2023-06-14

VS2008在Win2008中不能安装的解决方法

Baidu了一下,原来也还有很多人与我遇到了相同php的问题。 http://www.cppcns.com有人说与Office 2007有冲突,可是我并没安装,只安装了O编程ffice 2003。忽想想起安装过O2007Cnv,赶紧卸htt
2023-05-25

怎么在Vista中使用Defrag命令整理磁盘碎片

这期内容当中小编将会给大家带来有关怎么在Vista中使用Defrag命令整理磁盘碎片,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  在“开始”菜单-“搜索”框 (或 Win+R 启动“运行”对话框) 中
2023-06-14

智能ABC不能在VISTA下使用的解决办法

在安装了VISTA后,很多用户发现没有了智能ABC的输入法,这是因为VISandroidTA已经将智能AB编程客栈C移除了。但是VISTA下的微软拼音输入法中,是可以模拟智能ABC的输入风格的。但毕竟是模拟,很多用户还是很不习惯,那还有没有
2023-05-24

设置和使用Windows Vista中的Windows会议室

本文将带你浏览怎样设置并使用Windows 会议室 Windows 会议室是Windows Vista中的一个新特性,它能帮用户轻松地为共享文件及在线协作创建安全会话。 在本文中,我也将向管理员讲解怎样在企业环境中开启并管理这种新特性。 W
2023-05-24

VS2008程序某些组件使用不当的示例分析

这篇文章将为大家详细讲解有关VS2008程序某些组件使用不当的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我的电脑是Vista系统,装了VS2008程序,最近由于某些原因必须要装VS2005,请
2023-06-17

如何解决智能ABC不能在VISTA下使用的问题

本篇内容主要讲解“如何解决智能ABC不能在VISTA下使用的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决智能ABC不能在VISTA下使用的问题”吧!在安装了VISTA后,很多用户发
2023-06-14

在XP/Vista中快速卸载删除多系统中的Windows7

其实双系统卸载Windows7也是有技巧的,在xp系统下卸载Windows7和在Vista系统下制裁Windows7,都是有不同的技巧的。   双系统卸载Windows7技巧之:XP下卸载Windows7   如果是安装的xp和Window
2023-05-25

Windows 7 和 Vista 下使用 Alipay 的解决方法总结

安装操作系统其实是很容易的一件事情,但是又是非常繁琐的过程。繁琐是因为要安装好一切的驱动应用,之后进行有效测试,最后执行备份,全部完成之后 交付使用。期间最为耗时的恐怕不再是系统安装的过程,而是后续的驱动下载、安装以及系统更新,这几个阶段所
2023-05-24

解析Windows Vista系统中的“远程桌面”用法

远程桌面为用户远程办公提供了很大的便利:当用户上班时想到从家里的电脑拷贝一些数据到公司的电脑中,或者用户下班回到家想使用公司的电脑进行一些操作,都可以在本地通过网络访问远程的计算机,并且在通过合法的Windows验证后登录操作系统进行操作。
2023-05-24

新方法实现Vista恢复盘的创建和使用

大家只是注重ghost8.3创建一张系统恢复盘,有人推荐给我用的.但是说实话我也不太会使用,.现在Vista之家(www.vista123.com)给大家介绍一种比较适用的菜鸟版. 这款软件是惠普公司专门为他的PC服务而生产的,当然了如果有
2023-05-24

详解Vista系统中3个很实用的功能

一、“以前的版本”帮你恢复文件 重要文件被意外修改、删除或损坏,有没有挽回的余地呢?不需要借助第三方软件,Vista中的“以前的版本”功能就能帮你搞定这些。 1、“以前的版本&rd
2023-05-25

尝试在防火墙设备后面使用Windows Vista时网络连接失败

如果在防火墙设备后面使用Windows Vista时网络连接失败,可能是由于以下几个原因造成的:1. 防火墙配置问题:防火墙可能会阻止Windows Vista与网络通信。你可以检查防火墙规则,确保允许Windows Vista的网络连接。
2023-09-12

Vista系统中3个很实用的功能是什么

这篇文章给大家介绍Vista系统中3个很实用的功能是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、“以前的版本”帮你恢复文件重要文件被意外修改、删除或损坏,有没有挽回的余地呢?不需要借助第三方软件,Vista中
2023-06-14

Office 2007在Windows Vista中出现的反常字体问题的解决办法

有时候,在Windows Vista中使javascript用Office2007/2003打开原来写的文章,很多字体不能正常显示了:仿宋和楷体的文字莫名其妙地变动,文章行距增大,而且排版也出现了错误,本来在本页显示的文字无缘无故变到下一页
2023-05-24

Vista/Win7中查看某程序占用的虚拟内存

在Windows7或者Vista系统中,按下Ctrl+Shift+Esc组合键,调出任务管理器,然后,切换到“进程”标签下之后,单击“查看→选择列”(如图1)。 javascript
2023-05-25

编程热搜

目录