为什么用directshow?
在视频采集方面,directshow比opencv优秀,因为opencv采用的是VFW机制,而directshow采用的是WDM机制,虽然后者也有点老,但比VFW新,并且有广泛的视频采集卡支持。要弥补VFW的缺陷,除了directshow外,还有以下这么几个办法,见:
www.opencv.org.cn/index.php/视频读写概述
从哪里下载directshow?
directshow本来是directX的一部分,但是现在已经不是了,它现在包含在windows SDK中,下载后需要编译,有的SDK提供的是makefile,有的提供的VC的解决方案“sln”,显然后者比较容易,这里提供包含一个sln的SDK下载链接:
http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=f26b1aa4-741a-433a-9be5-fa919850bdbf&displayLang=en
毫无疑问,微软的东西都很大,不过安装时你可以选择安装,比如.net的你可以不用装。
另外你可能还是需要directx的SDK,这也很大,下载地址:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=2c7da5fb-ffbb-4af6-8c66-651cbd28ca15
如果你没有vc2008的话,那你也需要下载,当然也很大。
如何配置directshow?
主要是先要将directshow的代码编译链接成库文件,然后要在IDE设置头文件路径和库路径。
可以参看下面这篇文章,是针对sln的
http://blog.csdn.net/liguisen/archive/2008/03/14/2183557.aspx
如果你不幸下载的是makefile版本,那要参看下面这篇了
http://www.robertyu.com/wikiperdido/Building a DirectShow Code Sample in Visual Studio .NET
directshow如何上手?
你可以尝试编一个视频播放器,这方面教程比较多,这里提供几个比较好的:
http://blog.csdn.net/liguisen/archive/2008/03/16/2186994.aspx
http://hi.baidu.com/kingcham/blog/item/71740f125508c729dc54014a.html
http://www.toymaker.info/Games/html/simple_playback.html
其实http://www.codeproject.com/上的文章很好,你可以去搜一下directshow。
directshow如何与opencv结合?
directshow采用COM技术,如何和opencv结合起来?比如要在Opencv中使用directshow,必然涉及到格式转换的问题,即directshow采集到的一帧图像如何转换到opencv的IplImage格式?这些在下面链接中有详细叙述:
http://www.site.uottawa.ca/~laganier/tutorial/opencv+directshow/old/
貌似代码下载已经不再提供,网页上的代码比较零散,需要自己揣摩了。
(转载)directshow的下载、VC2008中的配置、入门教程以及如何在opencv中使用
最新推荐文章于 2021-02-26 13:47:23 发布