Winapi 不推荐使用ISampleGrabber?

Winapi 不推荐使用ISampleGrabber?,winapi,computer-vision,directshow,vfw,Winapi,Computer Vision,Directshow,Vfw,我有一个旧的计算机视觉实验,它使用Windows视频从连接到PC的摄像头抓取帧。这是一个黑客,它使用VfW创建预览窗口,然后从窗口DC执行GetDIBits 我终于准备好把它移植到DirectShow了。我的理解是,我可以使用ISampleGrabber从视频捕获图中抓取帧,但现在我读到了 从视频源抓取帧的非推荐方式是什么?我是否必须实现我自己的DirectShow过滤器,基本上实现ISampleGrabber所做的功能?如果您只针对Vista/Win7,我认为这是您最好的选择,否则您仍然可以使

我有一个旧的计算机视觉实验,它使用Windows视频从连接到PC的摄像头抓取帧。这是一个黑客,它使用VfW创建预览窗口,然后从窗口DC执行GetDIBits

我终于准备好把它移植到DirectShow了。我的理解是,我可以使用ISampleGrabber从视频捕获图中抓取帧,但现在我读到了


从视频源抓取帧的非推荐方式是什么?我是否必须实现我自己的DirectShow过滤器,基本上实现ISampleGrabber所做的功能?

如果您只针对Vista/Win7,我认为这是您最好的选择,否则您仍然可以使用DirectShow/SampleGrabber方法,我怀疑它是否会很快被删除。相关问题。

DirectShow未被弃用;只有DirectShow编辑服务。我强烈建议使用DirectShow,因为它的支持范围更广,除非需要MF的特定功能

DES已经有几年没有开发了,但是样本采集器是一种广泛使用的过滤器,在某种程度上独立于DES。我很乐意推荐你使用它。如果未来版本的windows出现问题,则更换过滤器只需一两天的时间


G

Hi,我遇到了一个类似的问题,其中ISampleGrabber和IID_ISampleGrabber是未声明的标识符(我运行的是sdkv7.1,VS2010)。你能分享你的解决方案吗?@Basel:我添加了我自己的头文件基于:谢谢@Adrian,我终于设法从旧SDK版本(V5,V6.0)恢复qedit.h,并使用ifndef/def替换缺少的“dxtrans.h”。+1当我第一次写这个问题时,XP仍然是一个要求,但如今,Vista甚至Win7都是基本目标平台的合理选择。