最近开始接触opencv,调用摄像头的代码已经都公开过,但一直在想怎么用摄像头进行连续的拍照呢,所以纠结了一个下午打算自己写一个吧,虽然这里是简单的实现,但在后面想用多线程的思想来调用,最近在赶中期论文报告,之后补上,现在现将简单的实现放上来吧
编译环境:VS+opencv3.1 摄像头帧率:30ftp/s
-
#include <opencv2/opencv.hpp>
-
#include <iostream>
-
-
using
namespace
std;
-
using
namespace cv;
-
-
int main()
-
{
-
VideoCapture capture(0);
-
int delay =
1000 /
30;
-
string a[] = {
"cam01.jpg",
"cam02.jpg",
"cam03.jpg",
"cam04.jpg",
"cam05.jpg",
"cam06.jpg",
-
"cam07.jpg",
"cam08.jpg",
"cam09.jpg",
"cam10.jpg",
"cam11.jpg",
"cam12.jpg"};
-
int i =
0;
-
while (
1)
-
{
-
Mat frame;
-
capture >> frame;
-
imshow(
"show",frame);
-
//imwrite("camera1.jpg", frame);
-
int key;
-
key = waitKey(delay);
-
if (
27 == (
char)key)
-
{
-
imwrite(a[i],frame);
-
i++;
-
}
-
-
}
-
}
欢迎大家一起讨论学习,可以加个人qq 联系:3559903110