opencv 视频转图像,图像转视频
来源:互联网 发布:企业淘宝店铺初始运营 编辑:程序博客网 时间:2024/06/10 14:10
由于经常需要用到图像序列进行图像处理,视频转图像,图像转视频方法保存备用
1. 确定所使用的视频格式opencv是否支持,网上有诸多软件可以进行转码。
2.上代码处理
#include <iostream>#include <vector>#include "opencv2\highgui\highgui.hpp"using namespace std;using namespace cv;void video2image(string video,string path){VideoCapture capture(video);if(!capture.isOpened()){cerr<<"Failed to open a video"<<endl;return ;}Mat frame;int num=1;string filename;char temp_file[5];for(;;){capture>>frame;if(frame.empty())break;_itoa_s(num,temp_file,4,10); //4表示字符长度 10表示十进制 实现整型转字符串filename = temp_file;filename = path+filename+".jpg"; num++;imwrite(filename,frame);}capture.release();}//假定图像集已经按帧号顺序排列void images2video(string _Imagespath,string &_videoTosave){int numframes = 120; //需要合成视频的帧数int fourcc = CV_FOURCC('D','I','V','X'); //编解码类型double fps = 30;bool iscolor = true;int frameWidth = 160; //帧宽度int frameHeight= 120; //帧高度VideoWriter Writer;Writer = VideoWriter(_videoTosave,fourcc,fps,Size(frameWidth,frameHeight),iscolor);string filename;char temp_file[5];Mat frame;for (int i=1;i<=numframes;i++){_itoa_s(i,temp_file,4,10); //4表示字符长度 10表示十进制 实现整型转字符串filename = temp_file;filename = _Imagespath+filename+".jpg";frame = imread(filename);if (frame.empty()){cout<<"could not load image"<<endl;exit(0);}Writer.write(frame);}}int main(int argc,char** argv){string videoFromfile = "E:\\opencv_demo\\vs2010\\video\\006_1.avi"; //读取视频string Imagespath = "E:\\opencv_demo\\vs2010\\video\\Image\\"; //保存图片集路径string videoTosave = "E:\\opencv_demo\\vs2010\\video\\testVideo.avi"; //保存视频路径video2image(videoFromfile,Imagespath);images2video(Imagespath,videoTosave);return 0;}
- opencv 视频转图像,图像转视频
- Opencv图像视频读取
- Matlab视频转图像
- 图像处理中的视频转图像&图像转视频
- [opencv入门笔记] 读视频转图像—读取视频中每一帧图像
- opencv+directshow采集视频图像
- OpenCV+MFC显示图像/视频
- OpenCv视频图像肤色检测
- OpenCV图像视频处理函数
- OpenCV+MFC显示图像/视频
- opencv图像读取,视频读取
- OpenCV - 视频及图像采集
- Opencv 视频转为图像序列
- python+opencv操作图像视频
- opencv图像写入视频详解
- opencv + MFC 视频图像显示
- opencv读取视频,存放视频图像
- MATLAB 视频转图像算法
- 集合类的基础概念
- gdb调试
- 数据库迁移之后查询特别慢的问题--重建索引
- android学习之——Handler消息传递机制
- poj2240--floryd算法变形
- opencv 视频转图像,图像转视频
- 动态语言和静态语言 | 强类型语言和弱类型语言
- 谷歌眼镜获得ROOT权限
- 使用 IRPStackSize指定I/O 请求数据包 (IRP) 中的堆栈位置的数目
- 格子涂色
- MySQL选择数据库
- Android AlarmManager实现不间断轮询服务
- 告别两年的公司
- windows下搭建apache+php+mysql