首页 > 代码库 > opencv2视频截图并保存
opencv2视频截图并保存
<pre name="code" class="cpp"><pre name="code" class="cpp">#include <opencv2/highgui/highgui.hpp> #include <opencv2\opencv.hpp> #include <iostream> #include <math.h> #include <stdio.h> #include <vector> using namespace cv; using namespace std;
int main(int argc, char *argv[]) { CvCapture* capture = cvCaptureFromAVI("C:\\Users\\hsn\\Desktop\\fish-120.avi"); int i = 0; IplImage* img = 0; char image_name[50]; cvNamedWindow( "vivi"); //读取和显示 while(1) { img = cvQueryFrame(capture); //获取一帧图片 if(img == NULL) break; cvShowImage( "vivi", img ); //将其显示 char key = cvWaitKey(20); sprintf(image_name, "%s%d%s", "C:\\Users\\hsn\\Desktop\\tutu\\image", ++i, ".jpg");//保存的图片名 cvSaveImage( image_name, img); //保存一帧图片 } cvReleaseCapture(&capture); cvDestroyWindow("vivi"); return 0; }
//int main(int argc, char **argv) //{ // // int period = atoi(argv[1]); //帧间隔,每隔多少帧取其中一张截图 // int count = atoi(argv[2]); //文件编号开始计数值 // char filename[128]; // CvCapture *capture = cvCreateFileCapture(argv[3]); //打开视频文件 // if (capture == NULL) // { // return - 1; // } // IplImage *frame; // while (1) // { // for (int i = 0; i < period; i++) // { // frame = cvQueryFrame(capture); // if (!frame) // { // // printf("finish!\n"); // // system("pause"); // return 0; // } // } // sprintf(filename, "img_%d.jpg", count++); // cvSaveImage(filename, frame); // } // cvReleaseCapture(&capture); // return 0; //}
opencv2视频截图并保存
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。