64,648
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include"highgui.h"
#include <stdio.h>
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
CvCapture *capture = NULL;
IplImage *frame = NULL;
char *AviSavePath = "D:\\截图\\";//图片保存的位置
const int jiange = 100;//间隔保存一次图片
capture = cvCaptureFromCAM(-1);//初始化从摄像头中获取视频
cvNamedWindow("AVI player",1);//定义一个窗口,用于显示图像
int count_tmp = 0;//计数总帧数
char tmpfile[100]={'\0'};
while(true)
{
if(cvGrabFrame(capture))//从摄像头或者视频文件中抓取帧
{
if (count_tmp % jiange == 0)
{
frame=cvRetrieveFrame(capture);//取回获取的帧
cvShowImage("AVI player",frame);//显示当前帧
sprintf(tmpfile,"%s//%d.jpg",AviSavePath,count_tmp);//使用帧号作为图片名
cvSaveImage(tmpfile,frame);
}
cvWaitKey(10);
++count_tmp;
}
else
{
break;
}
}
cvReleaseCapture(&capture);
cvDestroyWindow("AVI player");
std::cout<<"总帧数" << count_tmp << std::endl;
return 0;
}