Opencv学习07
来源:互联网 发布:openstreetmap数据分析 编辑:程序博客网 时间:2024/06/05 08:34
写入视频avi文件(附cvCreateVideoWriter avi文件错误的解决方法)
//// main.cpp// Study07//// Created by Sean on 16/2/22.// Copyright © 2016年 Sean. All rights reserved.//#include <iostream>#include "highgui.h"#include "cv.h"using namespace std;int main(int argc, const char * argv[]) { // insert code here... cout << "Project start..."<<endl; char name[]="/Users/sean/Documents/untitled folder/2.avi"; CvCapture* capture = cvCreateFileCapture(name); if(!capture) return -1; IplImage* rgb_frame = cvQueryFrame(capture); double fps = cvGetCaptureProperty(capture, CV_CAP_PROP_FPS); CvSize size = cvSize ( (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH), (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT) );// CvSize size =cvGetSize(rgb_frame);//此处为了严谨,需要从capture中获取尺寸,当然,直接cvGetSize(rgb_frame)也是可以的,结果一样 CvVideoWriter* write = cvCreateVideoWriter ( "/Users/sean/Documents/untitled folder/3.avi", CV_FOURCC('j', 'p', 'e', 'g'), fps, size ); IplImage* logpolar_frame = cvCreateImage(size, IPL_DEPTH_8U, 3); while(rgb_frame) { if(cvWaitKey(33)==27) return -1; if((rgb_frame = cvQueryFrame(capture))) cvWriteFrame(write, logpolar_frame); } cvReleaseVideoWriter(&write); cvReleaseImage(&rgb_frame); cvReleaseCapture(&capture); return 0;}
OS X下的avi写入好烦,在stackoverflow网站问了大神,问题终于解决了,具体看代码。csdn里就不说了,问了都没人回答。国内我还没搜到这种使用方法,主要就是cvCreateVideoWriter的用法问题,第二个参数CV_FOURCC国内给的根本就不全,还有N种写法,Mac下用xcode可使用的编码我测试了jpeg可以用,其它方式后面补充,使用的时候cvCreateVideoWriter第二个参数填写CV_FOURCC('J','P','E','G'),这个应该和mac下解码器的安装有关,网上mac的教程少之又少,可以用jpeg代替。
0 0
- Opencv学习07
- [OpenCV]Opencv学习日记
- opencv学习
- opencv学习
- opencv学习
- opencv学习
- opencv学习
- OpenCV学习
- 学习OpenCV
- 学习opencv
- 学习OPENCV
- opencv学习
- 学习opencv
- opencv学习
- OpenCV学习
- 学习opencv
- 学习opencv
- opencv 学习
- 在堆上申请空间存放对象的内存管理及析构函数调用时机
- Java的小程序
- 【CSS3】结构性伪类选择器—nth-child(n)
- 强连通分量的tarjan算法应用(一)
- Android 5.x Theme 与 ToolBar 实战
- Opencv学习07
- java自带线程池和队列详细讲解
- PHP设计模式-单例模式
- oracle 字段用逗号隔开函数
- MKAnnotation大头针学习一
- LeetCode 110. Balanced Binary Tree 递归求解
- macbook频繁掉线的解决办法
- Cannot retain Fragment that is nested in other Fragment
- 彻底解决Android 应用方法数不能超过65K的问题