欢迎来到天天文库
浏览记录
ID:51489677
大小:248.01 KB
页数:8页
时间:2020-03-25
《VC摄像头编程笔记.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VC6摄像头编程笔记——麦田2013/1/17这几天在VC下编程做VC6摄像头开发,就摄像头调用这块,期间遇到了各种情况导致无法编译、链接。在成功调用摄像头后,于是决定写下这篇笔记,一是为了自己总结,二是为了给需要的同志们一个参考。该学习笔记主要介绍在VC6下,通过微软DirectX9.0b开发包和网上广为流传的CaptureVideo类实现对摄像头的调用,从而进行视频截取和单帧图像获取的功能。(一)软件安装与环境配置1,VC6安装,安装都没有什么介绍的,主要有一点需要注意的是:最好安装英文企业版,因为网上VC6
2、的中文版大部分是网友自己做的,安装的中文版,有些“菜单栏”的下拉菜单项并不完全。这会影响后面的使用。当然如果你只是用VC6来写点C/C++程序,而不是主要用MFC开发软件,完全可以用简体中文企业版。VC6中英文企业版百度网盘下载地址:http://pan.baidu.com/share/link?shareid=203124&uk=2416616290注:关于中文版下拉菜单项不全的问题是本人在电脑连续多次反复安装VC6发现的,用的是网上使用最广的VC6++中英文企业版,由龙卷风极品论坛制作的。并不代表所有的版本都
3、是如此。2,DirectX开发包安装,有几个版本,常用的是DirectX9.0b和DiretX9.0SDKupdate-(summer2004)该开发包是最后一个包含directshow的,在这里我安装的是DirectX9.0b。两者的主要区别在后面环境配置中说明。下载地址:http://cid-a76c4a4a3032ded0.skydrive.live.com/browse.aspx/.Public/DirectX%209.0b%20SDK(二)环境配置1,在安装好VC6和DirectX9.0b后,找到Dir
4、ectX9.0b的安装路径,默认是C:DXSDK。然后在C:DXSDKSamplesC++DirectShowBaseCLasses目录下有个工程,打开baseclasses.dsw这个工程,如下图所示,分别在debug和release版本下编译工程后会在对应的文件下生成strmbasd.lib和STRMBASE.lib两个文件,然后将这两个文件复制到C:DXSDKLib目录下。而DiretX9.0SDKupdate-(summer2004)版本的BaseCLasses目录下是没有这个工程的,需要
5、自己手动创建一个Win32StaticLibrary项目,然后在“Project->Settings->Library->Outputfilename”更改输出名(在DirectX9.0b下只需切换Debug和Release的状态,不需要自己更改)其中:Debug版本是:Debugstrmbasd.libRelease版本是:ReleaseSTRMBASE.lib然后在分别编译生成strmbasd.lib和STRMBASE.lib两个文件注:Debug和Release的切换在VC:build->setacti
6、veconfiguration中选择。其实自己在写程序之前,网上已经有人将这两个文件共享出来下载,我在CSDN上就下载了,不过要下载分,在我电脑上也不能用,当然只是在我电脑上不能用,我们不能以偏概全是吧。所以建议各位最好是在自己的系统下编译生成这两个文件。2,配置VC6的通用环境,在VC:Tool->Option->Directories下添加DX9的include和lib。其中:include为:C:DXSDKIncludeLib为:C:DXSDKLib然后分别将他们移动到VC的路径前面。下面是在我电脑
7、上配置好的示图。注意:DX9的路径必须在VC的路径前面,否则DXSDKInclude和VC98INCLUDE有头文件名是重名的,例如control.h和strmif.h导致编译错误。(三)操作实例1,打开VC,新建一个基于对话框的MFC程序,工程名称为CVideo删除对话框上默认生成的一个文本框控件和两个按钮控件,然后自己添加一个图像框控件、一个combox控件和三个Button控件。2,添加控件变量。这几个控件的ID都可以不更改,但是一般为了使自己写的代码更具有可读性,我将三个Button的ID分别改为ID
8、_BUTTON_OPENVIDEOID_BUTTON_CLOSEVIDEOID_BUTTON_PHOTO对应的Caption为:“打开设备”,“关闭设备”,“拍照”。图像框控件ID改为:ID_SCREENCombox控件ID改为:ID_DEVICE然后在classWizard中分别为:ID_SCREEN添加变量m_ScreenID_DEVICE添加变量m_DeviceID
此文档下载收益归作者所有