近日opencv+directShow配置总结

    之前在自己笔记本上配置环境是VS2005+opencv1.0+directShow,后来去机器人pc上配置,好多细节都忘了,导致浪费了很多时间,觉得及时做总结还是很有必要的。

    在vc6.0里安装opcv1.0 参见:

http://www.opencv.org.cn/index.php/VC6%E4%B8%8B%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AEOpenCV1.0

     之所以使用directShow是因为opencv1.0自带支持的摄像头是VFW(video for windows),使用普通USB摄像头打开后显示黑色,使用了Shiqi Yu封装的一个类,详见:

 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

配置如下

每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。菜单:Project->Settings,然后将Setting for选为All Configurations,然后选择右边的link标签,在Object/library modules附加上

cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib

1. 将CameraDS.h CameraDS.cpp以及目录DirectShow复制到你的项目中

2. 菜单 Project->Settings->Settings for:(All configurations)->C/C++->Category(Preprocessor)->Additional include directories//      设置为 DirectShow/Include

3. 菜单 Project->Settings->Settings for:(All configurations)->Link->Category(Input)->Additional library directories//      设置为 DirectShow/Lib

 

关于stdafx.h

错误 1 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”? ~~~\camerads.cpp 470 

错误分析:
  此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束。没有找到预编译指示信息的头文件"stdafx.h"。
    (因为工程中的每个cpp文件属性默认都是使用预编译头(/YU)的,但是添加的第三方文件并没有 #include "stdafx.h" 预编译指示头,所以编译器在此cpp文件中一直到末尾都没有找到它)
  这个问题是由于我添加了directShow的文件
解决方法:
相应文件不使用预编译头:属性/C++/预编译头/不使用预编译头
要是设置项目不使用预编译头亦可,但是编译速度很慢
 
关于Debug Assertion Failed!
关于这个错误,网上查得大多说是指针错误:
我出现这个错误的是由于重复打开了一个摄像头。。。
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值