opencv视频的读取和创建
来源:互联网 发布:java 字符串分割 编辑:程序博客网 时间:2024/04/27 21:49
转自http://blog.csdn.net/lst227405/article/details/27566167
#include <opencv2/opencv.hpp>#include <opencv2/core/core.hpp>#include <opencv2/features2d/features2d.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/legacy/legacy.hpp>#include <iostream>#include <vector>//#include <iostream> // for standard I/O#include <string> // for strings#include <iomanip> // for controlling float print precision#include <sstream> // string to number conversion#include <opencv2/imgproc/imgproc.hpp> // Gaussian Blur//#include <opencv2/core/core.hpp> // Basic OpenCV structures (cv::Mat, Scalar)//#include <opencv2/highgui/highgui.hpp> // OpenCV window I/Ousing namespace cv;using namespace std;int main(){ //读取视频,生成图像 const string name_file="C:\\Users\\Administrator\\Desktop\\code\\video\\video\\video"; const string name_save_file="C:\\Users\\Administrator\\Desktop\\code\\video\\video\\video\\photo\\"; const string name1="1.avi"; cv::VideoCapture src(name1); cv::VideoCapture captst; if(!src.isOpened()) { cout<<"视频文件打开失败"<<endl; return -1; } cv::Size size_frame=cv::Size((int)src.get(CV_CAP_PROP_FRAME_WIDTH), (int)src.get(CV_CAP_PROP_FRAME_HEIGHT)); const string name_win="test"; //cv::namedWindow(name_win); cv::Mat frame_src; int frameNum=0; int k=1; std::stringstream stream; string name_write,name_tmp; while(true) { src>>frame_src; if(frame_src.empty()) { cout<<"game over!"<<endl; break; } ++frameNum; stream<<k; name_tmp=stream.str(); name_write=name_save_file+name_tmp+".bmp"; imwrite(name_write,frame_src); k++; stream.str(""); } ////////////////////////////////////// //读取图像,生成视频 //生成一个倒序的视频 cv::Mat frame_tmp; VideoWriter outputVideo; outputVideo.open("2.avi" , src.get(CV_CAP_PROP_FOURCC), src.get(CV_CAP_PROP_FPS),size_frame, true); // 文件名 编码器 帧率 大小 if(!outputVideo.isOpened()) { cout<<"输出文件打开失败"<<endl; return -1; } cout<<k<<endl; int m=k-1; while(true) { stream<<m; name_tmp=stream.str(); name_write=name_save_file+name_tmp+".bmp"; //cout<<name_write<<endl; frame_src=imread(name_write); outputVideo << frame_src; //cv::VideoCapture qwe(name_write); //qwe >> frame_tmp; //cv::imshow("11", frame_tmp); m--; if(m==0) break; stream.str(""); } cout << "Finished writing" << endl; return 0;}
0 0
- opencv视频的读取和创建
- opencv视频的读取和创建
- Opencv基础知识-----视频的读取和操作
- opencv视频流的读取和处理
- opencv:摄像头和视频的读取
- OpenCV视频的读取
- opencv的视频读取
- 关于OpenCV不能读取视频和写入视频的问题
- Opencv读取和保存视频
- Opencv读取和保存视频
- opencv 视频读取 和 进度条显示
- OpenCV读取视频和图像序列
- Opencv读取视频和打开摄像头
- 学习OPENCV之读取图像和视频
- OpenCV读取视频和图像序列
- OpenCV读取视频和图像序列
- Opencv 读取摄像头和视频数据
- opencv读取视频和摄像头常见问题
- vc6 code migrate to vs2010
- 题目1380:lucky number
- 一个新游戏的建立
- Linux在脚本中实现普通用户到root用户的切换(包括脚本输入密码)
- 标准库算法实现一
- opencv视频的读取和创建
- Linux静态库与动态库的详解
- java自定义jar包读取Excel(包含2003和2007)数据,并举例说明
- js 正则表达式 验证字符串中必须包含字母和数字
- webview网页视图用css控制样式
- Linux C定时器使用
- Matlab precessing KTH by 00sequence.txt
- 非常好的一篇文章,Graph of Function
- 【Leetcode】Search a 2D Matrix