OpenCv将图片写入到视频文件中

本文介绍如何使用OpenCV和C++进行视频处理,包括读取和写入视频文件,调整图片尺寸以适应视频播放,以及在视频末尾插入特定图片等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:第一次写OpenCv的东西。

2:好久没写c++了,现在越来越觉得java代码要比c++好看多了,c++比较乱。(个人见解,两门语言都喜欢)

3:因为自己是接触hadoop项目需要opencv知识所以来学的,但在hadoop中用javacv更方便,所以先熟悉下opencv再转到javacv

不多说上代码

#include <string>
#include "cv.h"
#include "highgui.h"
using namespace std;

int main() {

	IplImage *iplImg = cvLoadImage("/home/huanglei/wr.jpg", 1);
	IplImage *iplImgNew = cvCreateImage(cvSize(320,240),8,3) ;  //改变图片大小适应视频
	cvResize(iplImg,iplImgNew,CV_INTER_LINEAR) ;
	CvVideoWriter* video = cvCreateVideoWriter("/home/huanglei/tree1.avi",
			CV_FOURCC('P', 'I', 'M', '1'), 20,
			cvSize(iplImgNew->width, iplImgNew->height), 1);

	/*
	 * 逐帧读取视频,并保存到另外一个视频文件中
	 */
	CvCapture *cap;
	cap = cvCreateFileCapture("/home/huanglei/tree.avi");
	IplImage *imgVideo ;
	int q ;
	while (imgVideo = cvQueryFrame(cap)) {
		q = cvWriteFrame(video, imgVideo);
	}

	/*
	 * 在新的视频文件的末尾插入图片
	 */
	int i;
	for (int x = 0; x < 50; x++) {
		i = cvWriteFrame(video, iplImgNew);
	}

	/*
	 * 释放指针
	 */
	if (video) {
		cvReleaseVideoWriter(&video);
		cvReleaseImage(&imgVideo);
		cvReleaseImage(&imgVideo);
		cvReleaseImage(&iplImg);
	}

	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值