opencv视频转图片并保存到文件夹下
来源:互联网 发布:龙bt发布永久域名 编辑:程序博客网 时间:2024/05/01 19:23
实验时经常需要将视频保存为一帧一帧的图片,以获取实验结果,附代码如下:
#include <iostream> #include <vector> #include "opencv2\highgui\highgui.hpp" using namespace std; using namespace cv; void video2image(string video,string path) { VideoCapture capture(video); long totalFrameNumber = capture.get(CV_CAP_PROP_FRAME_COUNT); cout << "total frames is:" << totalFrameNumber << "." << endl;//设置开始帧 long frameToStart = 1; capture.set(CV_CAP_PROP_POS_FRAMES, frameToStart); cout << "from" <<frameToStart << "read" << endl; //设置结束帧 int frameToStop = 10; //获取帧率 double rate = capture.get(CV_CAP_PROP_FPS); cout << "rate is:" << rate<< endl; double delay = 1000 / rate; //定义一个用来控制读取视频循环结束的变量 bool stop = false; long currentFrame = frameToStart; if(!capture.isOpened()) { cerr<<"Failed to open a video"<<endl; return ; } Mat frame; int num=1; string filename; char temp_file[15]; while (!stop) { capture>>frame; if(frame.empty()) break; _itoa_s(num,temp_file,4,10); //4表示字符长度,10表示十进制,_itoa_s实现整型转字符串 filename = temp_file; filename = path+filename+".jpg"; cout << "now is reading" << currentFrame << "." << endl; imshow("Extractedframe",frame); cout << "now is writing" << currentFrame << "." << endl; imwrite(filename,frame); int c = waitKey(delay); //按下ESC或者到达指定的结束帧后退出读取视频 if ((char)c == 27 ||currentFrame > frameToStop) { stop = true; } //按下按键后会停留在当前帧,等待下一次按键 if (c >= 0) { waitKey(0); } num++; currentFrame++; } capture.release(); waitKey(0); } int main(int argc,char** argv) { string videoFromfile = "E:\\face.mp4"; //读取视频 string Imagespath = "E:\\video2Image\\"; // 保存图片的文件夹路径一定要有,因为OpenCV不会自动创建文件夹 video2image(videoFromfile,Imagespath); return 0; }
运行结果:
参考:
http://blog.csdn.net/zhonghuan1992/article/details/38469315
http://www.cnblogs.com/yingying0907/archive/2012/08/11/2633426.html
0 0
- opencv视频转图片并保存到文件夹下
- opencv分解视频并保存图片
- opencv 读取一个文件夹下的多张图片并处理保存
- opencv:批量读取一个文件夹下的图片,并转换成视频
- opencv:批量读取一个文件夹下的图片,并转换成视频
- 通过OPENCV从视频中获取图片并保存
- opencv: 视频中提取帧图片并保存(cv2.VideoCapture)
- OpenCV摄像头获取视频并实时保存每帧图片
- opencv批量输入图片缩放后保存到文件夹里面
- AFNetworking的图片、视频下载并保存到指定的app的Caches目录下
- [opencv]5.获取视频流并保存到本地
- 学习Android切割图片并保存到项目文件夹
- 从图片文件夹下读取图片并写入AVI视频
- opencv截取视频图片保存
- android异常收集错误信息并保存到crash文件夹下
- opencv录制视频并保存视频
- OpenCV裁剪图片并保存
- OpenCV裁剪图片并保存
- [51nod1233] Grid Lines
- 2510: 弱题
- python 二进制字符串和整数之间的装换
- 38、ActiveMQ JMSDEMO1 一对一点对点发布消息
- 使用gdb调试内嵌汇编的代码
- opencv视频转图片并保存到文件夹下
- 最简实例说明wait、notify、notifyAll的使用方法
- LeetCode-38. Count and Say-思路详解-C++
- stl之std::alloctor 配置器源码
- codeforces 735 C Tennis Championship
- ADB环境变量配置
- Android Camera使用总结与那些坑
- R语言xgboost自定义目标函数
- 【JZOJ3839】Baby Step