Opencv 视频转为图像序列的实现
基于OpenCV的视频转为图像序列方法:
基于C++版本
#include <iostream> #include "cv.h" #include "opencv2/opencv.hpp" using namespace std; using namespace cv; void main() { VideoCapture cap("C:\\Users\\Leo\\Desktop\\Megamind.avi"); if ( !cap.isOpened() ) { return ; } int imgIndex(0); for ( ; ; ) { Mat frame; cap >> frame; if ( frame.empty() ) { break; } char* imageSaveName = new char[64]; sprintf( imageSaveName, "C:\\Users\\Leo\\Desktop\\new\\%05d.jpg", imgIndex ); imwrite( imageSaveName, frame ); delete[] imageSaveName; imgIndex++; } cout << "total frames: " << imgIndex << endl; }
基于C版本
#include <iostream> #include "cv.h" #include "opencv2/opencv.hpp" using namespace std; using namespace cv; void main() { // video read CvCapture *capture = cvCreateFileCapture("C:\\Users\\Leo\\Desktop\\Megamind.avi"); IplImage *frame; int imgIndex(0); while(1) { frame = cvQueryFrame(capture); if ( !frame ) { break; } char* imageSaveName = new char[64]; sprintf( imageSaveName, "C:\\Users\\Leo\\Desktop\\new\\%05d.jpg", imgIndex ); cvSaveImage( imageSaveName, frame ); delete[] imageSaveName; imgIndex++; } cout << "total frames: " << imgIndex << endl; cvDestroyWindow( "VideoImage" ); cvReleaseCapture( &capture ); cvReleaseImage( &frame ); }
测试数据为OpenCV自带的视频:Megamind.avi,可以在opencv\sources\samples\cpp\tutorial_code\HighGUI\video-input-psnr-ssim\video路径下查找,共270帧图像,运行结果部分截图如下:
以上这篇Opencv 视频转为图像序列的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
您可能感兴趣的文章
- 01-10实现opencv图像裁剪分屏显示示例
- 01-10使用opencv拉伸图像扩大分辨率示例
- 01-10C++实现优酷土豆去视频广告的方法
- 01-10C++ 将数据转为字符串的几种方法
- 01-10基于C++实现kinect+opencv 获取深度及彩色数据
- 01-10C++将二叉树转为双向链表及判断两个链表是否相交
- 01-10编写C++程序使DirectShow进行视频捕捉
- 01-10浅谈CMake配置OpenCV 时静态链接与动态链接的选择
- 01-10OpenCV中C++函数imread读取图片的问题及解决方法
- 01-10visual studio 2013中配置opencv图文教程 Opencv2.4.9安装配置教程
阅读排行
本栏相关
- 04-02c语言函数调用后清空内存 c语言调用
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言的正则匹配函数 c语言正则表达
- 04-02c语言用函数写分段 用c语言表示分段
- 04-02c语言中对数函数的表达式 c语言中对
- 04-02c语言编写函数冒泡排序 c语言冒泡排
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段
- 04-02C语言中怎么打出三角函数 c语言中怎
- 04-02c语言调用函数求fibo C语言调用函数求
随机阅读
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 04-02jquery与jsp,用jquery
- 01-10C#中split用法实例总结
- 01-11ajax实现页面的局部加载
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10delphi制作wav文件的方法