位置: 编程技术 - 正文
推荐整理分享在vs2008+Vista中DirectShow的使用(vs2008如何使用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:vs2008教程,vs2008sp1chsx152981,vs2008使用教程,vs2008在win10,vs2008使用教程,vs 2008,vs2008使用教程,vs2008使用教程,内容如对您有帮助,希望把文章链接给更多的朋友!
最近想用OpenCV库进行视频处理,但十分不幸的是新买的笔记本装的是Vista,对网络摄像机只能用DirectShow*方式控制,而不能用在XP里还能使用的vfw方式,而大多数OpenCV的例程都用vfw方式实现的,得自己去转变成 DirectShow的方式。当然了,DirectShow 也将要被Media Foundationt淘汰了。但分析一下,在XP/ Vista/ Windows7 时代还是会被保留的。DirectShow在DirectX9.0b之前都包括在这个库中,在DX9.0c开始,则被独立成库,要另外安装**。(注,在XP(sp2)中默认安装了DX9.0c而Vista默认安装了DX。)后来MS又把DirectShow放入了WindowsSDK中。在vs 中的 WinSDK6.0a 已经包含了DirectShow,但在vs中的WinSDK则没有。由于懒得重装XP系统,所以就直接给本本装了个vs,尝试使用DirectShow。在 中下载了个例程,解压,打开工程文件,F5直接编译,接着~~~~碰到了经典的 error C: syntax error : missing ';' before identifier 'PVOID' 错误。上网查了好久,终于明白就是库连接有问题,找不到相应的.h文件,解决方法就是装DX(和DS),和改头文件连接路径。看了看,项目的目录,发现,在Debug目录下已经有个叫DirectShow的目录,里面已经包含了相关的头文件和库文件了。而vs已经把WinSDK安装好了,就是说DS也已经安装好了。但是由于原配的DirectShow目录中的文件是针对DX9的DS,而实际Vista中安装的是DX和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,再次编译。还是告诉在...DirectShowIncludedxtrans.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.cpp1>c:program filesmicrosoft sdkswindowsv6.0aincludeqedit.h() : fatal error C: File (Include) can not open: "dxtrans.h": No such file or directory一查看,没在WinSDK的目录上找到dxtrans.h,上网一查,新的DS不在包含这个文件。上网找到了解决方案。 包含qedit.h 的命令前加入四句: #define __IDxtCompositor_INTERFACE_DEFINED__ 再修改qedit.h 中引用 dxtrans.h 的部分,要求注释掉#include "oaidl.h"#include "ocidl.h"//#include "dxtrans.h"#include "amstream.h"再编译运行,成功!! 选择设置摄像头,视频显示,点击q键,退出。参考:*DirectShow: ): __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__
#include <qedit.h>
巧妙的从Windows进程中判断出病毒和木马的三点突破 任何病毒和木马存在于系统中,都无法彻底和进程脱离关系,即使采用了隐藏技术,也还是能够从进程中找到蛛丝马迹,因此,查看系统中活动的进程
让注册表修改立即生效的DIY批处理文件 人们在使用电脑的过程中,为了让系统更符合自己的使用习惯,常常需要将REG文件双击导入注册表以实现对系统进行某项优化设置。可是,REG文件双击
巧设键值使启动Vista电脑后显示上次进入系统的登录时间 Vista操作系统中,如果想开启电脑后显示上次进入系统的登录时间,该怎么做啊?一是自己有时候可能用到,二是如果自己的电脑被不信任的用过也方便
标签: vs2008如何使用
本文链接地址:https://www.jiuchutong.com/biancheng/352147.html 转载请保留说明!友情链接: 武汉网站建设