opencv VideoCapture capture 摄像头
环境 win7+VS2010+opencv2.4.9
// Camera3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
using namespace cv;
using namespace std;
int main()
{
//声明视频读入类
VideoCapture capture;
//从摄像头读入视频 0表示从摄像头读入
capture.open(0);
if (!capture.isOpened())//先判断是否打开摄像头
{
return -1;
}
namedWindow("win");
while (1) {
Mat cap;
//读取当前帧
capture >> cap;
if (!cap.empty())
imshow("win",cap); //若当前帧捕捉成功,显示
else
cout << "can not ";//最后一帧的处理(空的处理)
waitKey(30); //延时30毫秒
}
return 0;
}
// Camera2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
using namespace cv;
//-----------------------------------【main( )函数】--------------------------------------------
//描述:控制台应用程序的入口函数,我们的程序从这里开始
//-------------------------------------------------------------------------------------------------
int main( )
{
//【1】从摄像头读入视频
VideoCapture capture(0);//0,1,-1 组合continue;//break;
//【2】循环显示每一帧
while(1)
{
Mat frame; //定义一个Mat变量,用于存储每一帧的图像
capture>>frame; //读取当前帧
if(frame.empty() )
continue;
//break;不可以 组合0,1,-1
//最后一帧的处理(空的处理)
imshow("读取视频",frame); //显示当前帧
waitKey(30); //延时30ms
}
return 0;
}
// Camera2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
using namespace cv;
//-----------------------------------【main( )函数】--------------------------------------------
//描述:控制台应用程序的入口函数,我们的程序从这里开始
//-------------------------------------------------------------------------------------------------
int main( )
{
//【1】从摄像头读入视频
VideoCapture capture(0);//0,1,-1 组合continue;//break;
//【2】循环显示每一帧
while(1)
{
Mat frame; //定义一个Mat变量,用于存储每一帧的图像
capture>>frame; //读取当前帧
if(frame.empty() )
continue;
//break;不可以 组合0,1,-1
//最后一帧的处理(空的处理)
imshow("读取视频",frame); //显示当前帧
waitKey(30); //延时30ms
}
return 0;
}
if(frame.empty() )
continue;//break;不可以 组合0,1,-1
VideoCapture capture(0);//0,1,-1 组合continue;//break;
if( frame.empty() )
break;
可以吗
VideoCapture capture(0);
if( frame.empty() )
continue;
可以,但不知道因为啥啊,continue;是关键
谢谢大家
// Camera3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
using namespace cv;
int main( )
{
VideoCapture capture(0);
while (1)
{
Mat frame;
if (capture.isOpened())
{
capture >> frame;
imshow("最终结果",frame);
waitKey(30);
}
}
return(0);
}
// Camera3.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
using namespace cv;
using namespace std;
int main()
{
//声明视频读入类
VideoCapture capture;
//从摄像头读入视频 0表示从摄像头读入
capture.open(0);
if (!capture.isOpened())//先判断是否打开摄像头
{
return -1;
}
namedWindow("win");
while (1) {
Mat cap;
//读取当前帧
capture >> cap;
if (!cap.empty())
imshow("win",cap); //若当前帧捕捉成功,显示
else
cout << "can not ";//最后一帧的处理
waitKey(30); //延时30毫秒
}
return 0;
}