opencv视频学习第六课(opencv写视频文件)笔记整理
来源:互联网 发布:手机开不了淘宝店铺 编辑:程序博客网 时间:2024/05/22 12:13
现在来学习如何将图片集写成视频文件吧。
先将图片集统一命名,然后通过一个变量来控制读取图片。
然后使用cvCreateVideoWriter()函数创建视频写设备,使用cvResize()函数将不同尺寸的图片调整成同一个尺寸,使用cvWriteFrame()函数将图片数据写入到视频写设备中。大概的思想就是这样了,好像也没有什么好说的,单纯的记录一下这个课时,以后也许会有延伸
#include "highgui.h"#include "cxcore.h"#include "cv.h"#include <stdlib.h>#include <stdio.h>int main(int argc, char* argv[]){CvSize size = cvSize(480,360);double fps = 1;//创建视频写设备CvVideoWriter* writer = cvCreateVideoWriter("E:\\3\\liu.avi",CV_FOURCC('X','V','I','D'),fps,size);int image_id=0;//控制图片名称char filename[256];sprintf(filename, "E:\\3\\liu (%d).jpg",image_id);IplImage* src = cvLoadImage(filename);//加载图像if(!src)return 0;IplImage* src_resize = cvCreateImage(size,8,3);//创建一个图像空间cvNamedWindow("avi");while(src){cvShowImage("avi",src_resize);cvWaitKey(10);//由于图片的大小不一定都是size,所以在写入视频前,使用cvResize函数将图片调整成size大小,存放在src_resize中cvResize(src, src_resize);cvWriteFrame(writer,src_resize);//再将src_resize的内容加载到writer视频设备中cvReleaseImage(&src);//释放image_id++;sprintf(filename,"E:\\3\\liu (%d).jpg",image_id);src = cvLoadImage(filename);//将图片加载到src中}cvReleaseVideoWriter(&writer);cvReleaseImage(&src_resize);return 0;}
重点介绍的函数
1、cvCreateVideoWriter(conts char* filename,//新建视频的文件名字
int fourcc,//视频压缩的编码格式(由电脑安装的编码器决定的)
double fps,//每秒播放的帧数
CvSize frame_size,//尺寸
int is_color=1//如果非零,编码器将希望得到彩色帧进行编码,否则是灰度帧
);//创建视频写设备
2、viod cvResize(const CvArr* src,//源图像
CvArr* dst,//目标图像
int interpolation=CV_INTER_LINEAR//方式
);//重新调整图像src
3、int cvWriteFrame(CvVideoWriter* writer,//视频写入器结构
const IplImage* image//被写入的帧
);//把一帧图像写入到视频文件
- opencv视频学习第六课(opencv写视频文件)笔记整理
- OpenCV学习(三)写视频文件
- opencv视频学习第四课(opencv读视频和摄像头)笔记整理
- opencv视频学习第三课(显示图像)笔记整理
- OpenCV学习笔记(3)-----打开视频文件
- OpenCV学习笔记-读取视频文件
- opencv视频学习第五课(视频播放控制)笔记整理
- opencv 之写视频文件
- Opencv写视频文件
- Opencv写视频文件
- OpenCv 写视频文件
- Study notes for OpenCV——第六节 写视频文件
- opencv视频学习第八课(CvMat结构体)笔记整理
- opencv视频学习第九课(访问cvMat数据)笔记整理
- OpenCV学习笔记(4)视频文件的读取与保存
- opencv学习笔记(2)视频文件的读取与保存
- OpenCV学习(二、写视频)
- OpenCV学习笔记【7】:写入AVI视频文件
- leetcode Length of Last Word
- [Codevs 1199][NOIP 2012提高组]开车旅行
- 【oracle oem,1】oracle 11g和oracle 10g em乱码解决方法
- ACM-矩阵之仿射变换
- 《STL源码剖析》学习笔记系列之七、八——仿函数和配接器
- opencv视频学习第六课(opencv写视频文件)笔记整理
- ACM-动规总揽
- 计数排序
- opencv_study第四篇|缩放图像
- centos6.5修改普通用户的语言
- 宽带无线路由器原来这么简单
- cocoapods 的安装和使用
- 数据库命名规范
- JAVA核心技术学习——流与文件(5.操作文件FILE)