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

在vs2008+Vista中DirectShow的用法

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

在vs2008+Vista中DirectShow的用法

这篇文章主要讲解了“在vs2008+Vista中DirectShow的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在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" 改成 <qedit.h> ,把引用 "DirectShow/Include/dshow.h" 改成 <dshow.h>。 存盘后,编译,再次出现错误:

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,上网一查,新的DS不在包含这个文件。上网找到了解决方案。
http://www.cnblogs.com/pcmax/archive/2008/11/22/1338989.html
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2617687&SiteID=1

现在采用的是第二种方法:

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

再编译运行,成功!! 选择设置摄像头,视频显示,点击q键,退出。

感谢各位的阅读,以上就是“在vs2008+Vista中DirectShow的用法”的内容了,经过本文的学习后,相信大家对在vs2008+Vista中DirectShow的用法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

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

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

在vs2008+Vista中DirectShow的用法

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

下载Word文档

猜你喜欢

在vs2008+Vista中DirectShow的用法

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

在vs2008+Vista中DirectShow的使用

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

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

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

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

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

在Vista 预览PDF文件的方法介绍

之前我们曾介绍过Windows Vista的预览功能,即在用户不打开相应文件的情况下查看文件的具体内容,这是个相当有用的功能,可以大大提高日常工作的效率。Windows Vista预览功能可支持的对象包括图片、音频、视频、字体、文本、E-m
2023-05-24

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

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

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

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

vista中提示Bluetooth Peripheral Device的解决方法

通过笔记本蓝牙和手机配对并传输文件后笔记本会提示发现新硬件的向导,且通过常规方式编程无法正常加载驱动,同时设备管理器中其他设备下python出现“Bluetooth Peripheral Device”设备和&ldq
2023-05-25

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

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

在Vista系统中 Windows 主进程 (Rundll32) 已停止工作的解决方法

在Vista系统中只要打开某文件夹,就出现&ljsdquo;Windows 主进程 (Rundll32) 已停止工作” 原因:问题出现在vista的缩略图显示上 解决方python法:只要选择系统从不显示缩略图就可以解决问题。
2023-05-25

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

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

Vista系统中隐藏的几个功能激活方法

虽然Windows Vista 5219还只是一个不算太成熟的测试版本,但喜欢尝鲜的朋友已经抢先安装,关于Windows Vista的安装和新特性这里就不再多介绍,笔者今天要介绍的是系统中隐藏的几个功能: 简体中文手写输入 在开始菜单中可以
2023-06-01

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

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

Vista系统下输入法无法正常使用的解决办法

本篇内容主要讲解“Vista系统下输入法无法正常使用的解决办法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vista系统下输入法无法正常使用的解决办法”吧!  解决方法:可以手工悠改系统,把共
2023-06-14

static在c++中的用法

static是c++中的一个关键字,用于声明变量、函数和类成员,拥有以下特性:变量:只有一份副本,在启动时初始化,在结束时销毁,即使未被使用也占内存。函数:只能访问本函数中的变量,不能重载。类成员:属于类而不是实例,可以使用类名访问,只能访
static在c++中的用法
2024-05-14

int在python中的用法

int是python中内建的整数字面类型,可用于:创建十进制、八进制或十六进制整数字面值。从浮点数或字符串转换而来,使用int()和int(obj, base)函数。支持加减乘除取余和幂运算。支持比较运算,如等于、不等于、小于、大于等。支持
int在python中的用法
2024-05-15

patindex在sql中的用法

patindex 函数在 sql 字符串中搜索指定模式的文本,并返回其第一个匹配项的开始位置。它根据给定的模式和字符串,返回匹配项在字符串中的第一个字符的位置,如果未找到匹配项,则返回 0。还可以使用特殊字符(如方括号和脱字符)来指定字符范
patindex在sql中的用法
2024-05-15

padding在css中的用法

padding 在 css 中用于设置元素内容周围的空间,用途包括创建边距、调整元素大小和美观效果。语法为:padding: ;,单位有 px、%、em。它可以继承,是盒模型的一部分,css3 新增了 padding-inline-star
padding在css中的用法
2024-04-26

box在css中的用法

css 中的 box 模型是一个框架,用于控制元素的大小、边框和间隔。它由内容、填充、边框和外边距四部分组成,并提供 width、padding、border 和 margin 等属性进行控制。box 模型用于布局元素、创建间隔、添加装饰以
box在css中的用法
2024-04-28

a:hover在css中的用法

:hover 伪类用于在鼠标悬停在元素上时应用样式,为用户提供视觉反馈。它通常应用于链接和按钮,可实现更改颜色、添加边框、调整大小等效果,增强交互性。a:hover 在 CSS 中的用法:hover 伪类用于在鼠标悬停在元素(通常是链接或
a:hover在css中的用法
2024-04-28

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录