返回顶部
首页 > 资讯 > 操作系统 >在vs2008+Vista中DirectShow的使用
  • 818
分享到

在vs2008+Vista中DirectShow的使用

vs2008VistaDirectShow使用 2023-05-24 10:05:56 818人浏览 八月长安
摘要

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

最近想用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>

--结束END--

本文标题: 在vs2008+Vista中DirectShow的使用

本文链接: https://lsjlt.com/news/217505.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在vs2008+Vista中DirectShow的使用
    最近想用OpenCV库进行视频处理,但十分不幸的是新买的笔记本装的是Vista,对网络摄像机只能用DirectShow*方式控制,而不能用在XP里还能使用的vfw方式,而大多数OpenCV的例程都用vfw方式实现的,得自...
    99+
    2023-05-24
    vs2008 Vista DirectShow 使用
  • 在vs2008+Vista中DirectShow的用法
    这篇文章主要讲解了“在vs2008+Vista中DirectShow的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在vs2008+Vista中DirectShow的用法”吧!最近想用O...
    99+
    2023-06-14
  • VS2008在Win2008中不能安装的解决方法
    Baidu了一下,原来也还有很多人与我遇到了相同的问题。 有人说与Office 2007有冲突,可是我并没安装,只安装了Office 2003。忽想想起安装过O2007Cnv,赶紧卸载了,再次安装VS2008,缍一路顺畅...
    99+
    2023-05-25
    VS2008 不能安装 解决 Win2008 方法
  • 怎么在Vista中使用Defrag命令整理磁盘碎片
    这期内容当中小编将会给大家带来有关怎么在Vista中使用Defrag命令整理磁盘碎片,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  在“开始”菜单-“搜索”框 (或 Win+R 启动“运行”对话框) 中...
    99+
    2023-06-14
  • 智能ABC不能在VISTA下使用的解决办法
    在安装了VISTA后,很多用户发现没有了智能ABC的输入法,这是因为VISquot; "LAYOUT FILE"="KBDUS.DLL" "LAYOUT TEXT&quo...
    99+
    2023-05-24
    VISTA 智能ABC 解决办法 智能 ABC
  • 设置和使用Windows Vista中的Windows会议室
    本文将带你浏览怎样设置并使用Windows 会议室 Windows 会议室是Windows Vista中的一个新特性,它能帮用户轻松地为共享文件及在线协作创建安全会话。 在本文中,我也将向管理员讲解怎样在企业环境中开启并...
    99+
    2023-05-24
    Vista Windows会议室 会议室 Windows
  • VS2008程序某些组件使用不当的示例分析
    这篇文章将为大家详细讲解有关VS2008程序某些组件使用不当的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我的电脑是Vista系统,装了VS2008程序,最近由于某些原因必须要装VS2005,请...
    99+
    2023-06-17
  • 如何解决智能ABC不能在VISTA下使用的问题
    本篇内容主要讲解“如何解决智能ABC不能在VISTA下使用的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决智能ABC不能在VISTA下使用的问题”吧!在安装了VISTA后,很多用户发...
    99+
    2023-06-14
  • 在XP/Vista中快速卸载删除多系统中的Windows7
    其实双系统卸载Windows7也是有技巧的,在xp系统下卸载Windows7和在Vista系统下制裁Windows7,都是有不同的技巧的。   双系统卸载Windows7技巧之:XP下卸载Windows7   如果是安装...
    99+
    2023-05-25
    卸载删除 Windows7
  • Cookie在Java中的使用
    目录什么是Cookie Cookie的必要 Cookie如何工作 模拟用户登录 什么是Cookie 在现实生活中,当顾客第一次在超市购物,通常服务员会询问是否办理一张会员卡来积分以...
    99+
    2024-04-02
  • Windows 7 和 Vista 下使用 Alipay 的解决方法总结
    安装操作系统其实是很容易的一件事情,但是又是非常繁琐的过程。繁琐是因为要安装好一切的驱动应用,之后进行有效测试,最后执行备份,全部完成之后 交付使用。期间最为耗时的恐怕不再是系统安装的过程,而是后续的驱动下载、安装以及系...
    99+
    2023-05-24
    Windows 7 Vista Alipay 下使用 的解决 总结 方法
  • 新方法实现Vista恢复盘的创建和使用
    大家只是注重ghost8.3创建一张系统恢复盘,有人推荐给我用的.但是说实话我也不太会使用,.现在Vista之家(www.vista123.com)给大家介绍一种比较适用的菜鸟版. 这款软件是惠普公司专门为他的PC服务而...
    99+
    2023-05-24
    创建和使用Vista恢复盘新方法 方法 创建 Vista
  • 详解Vista系统中3个很实用的功能
    一、“以前的版本”帮你恢复文件 重要文件被意外修改、删除或损坏,有没有挽回的余地呢?不需要借助第三方软件,Vista中的“以前的版本”功能就能帮你搞定这些。 1、&ldqu...
    99+
    2023-05-25
    Vista 功能 系统
  • 解析Windows Vista系统中的“远程桌面”用法
    远程桌面为用户远程办公提供了很大的便利:当用户上班时想到从家里的电脑拷贝一些数据到公司的电脑中,或者用户下班回到家想使用公司的电脑进行一些操作,都可以在本地通过网络访问远程的计算机,并且在通过合法的Windows验证后登...
    99+
    2023-05-24
    Windows Vista 远程桌面 系统 用法
  • 尝试在防火墙设备后面使用Windows Vista时网络连接失败
    如果在防火墙设备后面使用Windows Vista时网络连接失败,可能是由于以下几个原因造成的:1. 防火墙配置问题:防火墙可能会阻...
    99+
    2023-09-12
    Windows
  • Office 2007在Windows Vista中出现的反常字体问题的解决办法
    有时候,在Windows Vista中使用Office2007/2003打开原来写的文章,很多字体不能正常显示了:仿宋和楷体的文字莫名其妙地变动,文章行距增大,而且排版也出现了错误,本来在本页显示的文字无缘无故变到下一页...
    99+
    2023-05-24
    Office 2007 Windows Vista 反常 字体 问题 解决办法
  • 事务在c#中的使用
    目录一、概述1、事务ACID特性2、.NET开发者用到的5种事务机制:二、数据库事务1、不同数据库的事务规则2、数据库事务的优势和限制(1)优势:(2)限制:三、ADO.Net事务四...
    99+
    2024-04-02
  • Vista系统中3个很实用的功能是什么
    这篇文章给大家介绍Vista系统中3个很实用的功能是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、“以前的版本”帮你恢复文件重要文件被意外修改、删除或损坏,有没有挽回的余地呢?不需要借助第三方软件,Vista中...
    99+
    2023-06-14
  • Vista/Win7中查看某程序占用的虚拟内存
    在Windows7或者Vista系统中,按下Ctrl+Shift+Esc组合键,调出任务管理器,然后,切换到“进程”标签下之后,单击“查看→选择列”(如图1)。 ...
    99+
    2023-05-25
    虚拟内存 程序
  • 为何使用Vista时C驱动器的已用空间快速增加
    有几个可能的原因导致使用Vista时C驱动器的已用空间快速增加:1. 系统更新:Vista的系统更新可能会占用大量的磁盘空间。每次更...
    99+
    2023-09-07
    Vista
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作