cvCreateVideoWriter 录制视频的一个可用程序

编程环境:Win7+VS2008+OpenCV2.3
#include <cv.h>
#include <highgui.h>
#include <ctype.h>
#include <stdio.h>

int main (int argc, char **argv)
{ 
	CvCapture *capture = 0;  
	IplImage *frame = 0; 
	CvVideoWriter *vw;  
	int w = 250, h = 250;  
	int c, num = 0;  
	CvFont font; 
	char str[64];   

	capture = cvCaptureFromCAM (0); 
	cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_WIDTH, w);
	cvSetCaptureProperty (capture, CV_CAP_PROP_FRAME_HEIGHT, h);  

	cvInitFont (&font, CV_FONT_HERSHEY_COMPLEX, 0.7, 0.7); 
	cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE); 


	frame = cvQueryFrame (capture); 
	CvSize size = cvGetSize(frame);
	vw = cvCreateVideoWriter ("cap.avi",-1 , 15, size,1);  // 创建写入器
	if (!vw)
	{
		printf("create video error");
	}

	while (1) 
	{    
		frame = cvQueryFrame (capture); 
		
		_snprintf_c(str, 64, "%03d[frame]", num);   
		cvPutText (frame, str, cvPoint (10, 20), &font, CV_RGB (0, 255, 100));  

		cvShowImage ("Capture", frame); 

		cvWriteFrame (vw, frame);   

		num++;  
		c = cvWaitKey (10);  // 在接下来的10ms中持续检测按键 
		if ('q' == c)
		{
			break;
		}
	}  
	cvReleaseVideoWriter (&vw); // 释放视频写入器
	cvReleaseCapture (&capture); 	
	cvDestroyWindow ("Capture"); 
	return 0;
}
注:在压缩程序选择Microsoft RLE 和 VMnc v2 的时候, 无法录制成功。  选择其余几个均测试成功。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值