OpenCV——将图片转换成视频

在做毕设时,需要将处理的图像结果编辑成视频的格式,用一些软件没有OpenCV编程来的快。代码如下:

主要是读入图像序列,设置好帧率和视频编码器格式,还有分辨率就可以完成录制。

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
int main()
{
	//声明IplImage指针  
	IplImage* Image = NULL;
	CvVideoWriter* video = cvCreateVideoWriter("depth2.avi", 0, 10, cvSize(512, 424), 1);
	char filename[200];//保存图像名的数组  

	for (int m = 2; m < 147; m++) //图像命名规则为00*.png  
	{
		sprintf(filename, "C:\\Users\\Haley Xu\\Documents\\Visual Studio 2013\\Projects\\kinect2\\kinect2\\cljg_2\\depth%d.bmp", m);
		Image = cvLoadImage(filename);
		cvShowImage("读取", Image);

		cvWriteFrame(video, Image);
		char c = cvWaitKey(150);
		if (c == 27) break;//按下ESC停止  
	}
	cvReleaseVideoWriter(&video);

	/*
	char filename[200];

	VideoWriter videoWriter;//视频写入器  
	videoWriter.open("freespaceAndObstacles.avi", CV_FOURCC('x', 'v', 'I', 'D'), 25, Size(1024, 333));//注意若图片尺寸与写入器的尺寸不同的话可能失败  
	if (!videoWriter.isOpened()) 
		std::cout << "创建VideoWriter失败" << std::endl;

	for (int m = 1; m < 250; m++)
	{

		sprintf(filename, "E:\\img\\%d.bmp", m);

		cv::Mat img = cv::imread(filename);

		img.convertTo(img,CV_8UC3);

		imshow("freespaceAndObstacles",img);

		videoWriter << img;//写入一帧到文件 

		waitKey(100);

	}
	*/
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值