文档介绍:opencv获取摄像头
#pragma warning(disable : 4996)
#ment( lib, "" )
#ment( lib, "" )
#include <>
#include <>
void main(int argc, char *argv[])
{
CvCapture* capture = 0;//视频流捕获
capture=cvCaptureFromCAM(0);
if(!capture)
return;
IplImage *frame;
cvNamedWindow("Window 0", 0);
while(capture)
{
frame = cvQueryFrame(capture);//获得一帧图象
cvShowImage("Window 0",frame);
if(cvWaitKey(1)==27)//等待ESC键
break;
}
cvReleaseCapture(&capture);
cvDestroyAllWindows();
}
OpenCV的摄像头采集函数不是很好,貌似每秒最多12帧,改用DirectShow采集,OpenCV中文网上有现成的类可以调用,而且用起来比opencv的函数简单很多
代码下载:请参考这里://%E4%BD%BF%E7%94%A8DirectShow%E9%87%87%E9%9B%86%E5%9B%BE%E5%83%8F
C/C++ code//////////////////////////////////////////////////////////////////////
// Video Capture using DirectShow
// Author: Shiqi Yu (@)
// Thanks to:
// ******@OpenCV China
// ******@OpenCV China (for his contribution to function CameraName, and frame width/height setting)
// Last modification: April 9, 2009
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// 使用说明:
// 1.
// 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
// 在vc++2005开发环境下的使用说明:
//
// ,菜单工具->选项->项目和解决方案->vc++目录,把..(你的opencv安装目录)/DirectShow/Include添加到
// “引用文件”中$(VCInstallDir)PlatformSDK\include和$(FrameworkSDKDir)include下面任意位置
// ->选项->项目和解决方案->vc++目录,把..(你的opencv安装目录)/DirectShow/Lib添加到“库文件”下面。也可参考使用说明3。
//////////////////////////////////////////////////////////////////////
#include ""
#include <>
#include <>
int