【问题标题】:ISampleGrabber deprecated?ISampleGrabber 已弃用?
【发布时间】:2011-09-01 18:00:16
【问题描述】:

我有一个旧的计算机视觉实验,它使用 Video for Windows 从连接到 PC 的相机中抓取帧。这是一个 hack,它使用 VfW 创建一个预览窗口,然后从窗口 DC 执行 GetDIBits。

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

从视频供稿中抓取帧的不被弃用的方法是什么?我是否必须实现自己的 DirectShow 过滤器,该过滤器基本上可以完成 ISampleGrabber 的工作?

【问题讨论】:

  • 嗨,我遇到了类似的问题,ISampleGrabber 和 IID_ISampleGrabber 是未声明的标识符(我在 SDK V7.1、VS2010 上运行)。你能分享一下你的解决方案吗?
  • @Basel:我添加了自己的头文件,基于:social.msdn.microsoft.com/Forums/windowsdesktop/en-US/…
  • 感谢@Adrian,我终于设法从旧的 SDK 版本(V5、V6.0)恢复 qedit.h 并使用 ifndef/def 来处理丢失的“dxtrans.h”。

标签: winapi computer-vision directshow vfw


【解决方案1】:

DirectShow 未被弃用;只是 DirectShow 编辑服务。我强烈推荐使用 DirectShow,因为它支持更广泛,除非需要 MF 的特定功能。

多年来没有开发 DES,但样本采集器是一种广泛使用的过滤器,它在某种程度上独立于 DES。我很乐意推荐您使用它。如果将来的 windows 版本出现问题,更换过滤器不会超过一两天的工作。

G

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • +1 当我第一次写这个问题时,XP 仍然是一个要求,但现在 Vista 甚至 Win7 都是基本目标平台的合理选择。
    猜你喜欢
    • 2014-02-12
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    相关资源
    最近更新 更多