OpenCV 视频处理框架

OpenCV 本身集成了 FFmpeg,因此对于视频是有解码和编码功能的。虽然其效率在本人看来还不能跟未被封装的FFmpeg相提并论,然用其来对视频进行解码得到图像,然后对图像进行处理并将得到的图像重新压缩成视频是非常方便的,下面将介绍将视频解码成图像并进行帧差法等操作的框架搭建,虽然没有介绍如何反向压缩成视频,但其操作也是非常类似的,不过需要注意的是在OpenCV2.1版本图像压缩成视频记得是有BUG的,最好还是用新的版本来进行学习。

#include <afxwin.h>
#include <opencv2/opencv.hpp>
using namespace cv;

void MotionDetect(IplImage *frame1, IplImage *frame2)//两帧图像处理函数
{
	//在此加入图像处理代码
}

void main()
{
	IplImage *frame1 = NULL, *frame2 = NULL;//frame1为新的图像,frame2为frame1的前一张图像
	CvCapture *capture = NULL;
	capture = cvCaptureFromAVI("1.avi");//打开视频
	frame1 = cvQueryFrame(capture);//从摄像头或者文件中抓取并返回一帧
	frame2 = cvCreateImage(cvGetSize(frame1), 8, 3);
	cvCopy(frame1, frame2);
	frame1 = cvQueryFrame(capture);
	while (frame1)
	{
		MotionDetect(frame1, frame2);//移动侦测
		cvCopy(frame1, frame2);
		frame1 = cvQueryFrame(capture);//接着从视频中拷入图像
	}
	cvReleaseImage(&frame2);
}

OpenCV 视频处理框架,布布扣,bubuko.com

时间: 2024-08-07 17:00:51

OpenCV 视频处理框架的相关文章

播放视频的框架Vitamio的使用问题

以前用过这个牛逼的框架,后来又随意搞了下,发现播放不了视频了,搞了老半天才搞好,今天又随便整了下,发现又不行了,我勒个插! 现在终于又搞出来了,发现我总是把步骤搞错或少写了些东西 总的步骤: 一:导入vitamio_lib包 二:xml布局中的videoView要替换 三:java文件中的所有包导入的都是vitamio_lib下的东西 四:在java文件的setContentView前要加判断!!!<易遗忘> 五:在清单文件中要加入io.vov.vitamio.activity.InitAct

OpenCV视频序列操作基础

 从视频序列中抓取一帧 OpenCV支持从摄像头或视频文件(AVI)中抓取图像. 从摄像头获取初始化: CvCapture* capture = cvCaptureFromCAM(0); // capture from video device #0 从视频文件获取初始化: CvCapture* capture = cvCaptureFromAVI("infile.avi"); 抓取帧: IplImage* img = 0; if(!cvGrabFrame(capture)){  

OpenCV视频读取播放,视频转换为图片

转载请注明出处!!! http://blog.csdn.net/zhonghuan1992 OpenCV视频读取播放,视频转换为图片 介绍几个有关视频读取的函数: VideoCapture::VideoCapture VideoCapture能够从文件里或者摄像头中读取视频,这是提供给C++的接口的.C的接口是CvCapture结构.        <span style="white-space:pre"> </span>C++: VideoCapture::

马蜂窝视频编辑框架设计及在 iOS 端的业务实践

(马蜂窝技术公众号原创内容,ID: mfwtech) 熟悉马蜂窝的朋友一定知道,点击马蜂窝 App 首页的发布按钮,会发现发布的内容已经被简化成「图文」或者「视频」. 长期以来,游记.问答.攻略等图文形式的形态一直是马蜂窝发展的优势所在.将短视频提升至与图文并列的位置,是因为对于今天的移动互联网用户来说,内容更真实直观.信息密度更大.沉浸感更强的短视频已经成为刚需.为了使旅游用户拥有更好的内容交互体验,丰富和完整原有的内容生态体系,马蜂窝加码了对短视频领域的布局. 现在,每天都会有大量短视频在马

OpenCV图像视频编程框架

? ? ? 接触OpenCV好几年了,一直只用OpenCV读入图像.视频,显示图像或者视频,由于公司图像算法都属于前端应用,因此一直没有使用OpenCV的内置函数,所有算法均要转化到C下面.所以目的很明确,OpenCV对于我来说就是一个Demo演示和调试工具. OpenCV :图像读取,图像保存,图像显示,视频读取,视频保存,鼠标画点.画圆.画矩形.画图. 1)图像保存 ? ? ? 为了方便每次都sprintf拼写图像路径,采用如下定义: ? ? ? void cvSaveImageNow(Ip

[openCV]视频的读入与一些简单的图像处理

1.序言 作为一个计算机图像处理的工具,因为免费公开呀,版权等等的原因,openCV开始展现出一些无可取代的优势(已经展露好久了好吧).嘛,之前我研究生阶段,一直再用MATLAB在干活,总感觉调试呀,验证啊,还是MATLAB要好用一些呢!不久前,自己也开始接触了openCV,总感觉虽然都是工具,但是水很深的样子.嘛,总是还是开个关于openCV的坑,记录下自己的学习的轨迹吧. 自带吐槽1:基础的图像处理部分的坑,还有一些没有整理完,等过几天开始整理完后,再开始填坑吧,不算烂尾不算烂尾(= =!!

QT+OPENCV视频采集

今天终于有了自己的博客了!由于我的时间有限,又初来咋到,只好小试牛刀,写个简单的! Qt学习网站:http://www.yafeilinux.com/ OpenCV中文论坛:http://www.opencv.org.cn/index.PHP/Template:Code 首先介绍下opencv :OpenCV的全称是:Open Source Computer Vision Library.  OpenCV于1999年由Intel建立,现在由Willow Garage提供支持.OpenCV是一个基

OpenCV in QtCreator 简易的OpenCV+Qt 图形框架

2016.10.3 OpenCV in Qt Creator --简易的OpenCV+Qt Creator图形框架 1.如何在Qt Creator中引入OpenCV库 (其实配置完之后感觉很简单,但是配置的时候试了各种方法,真真假假终于试到一个对的) 如下图 代码如下 E:\opencv3.1.0\ //与自己的配置有关 INCLUDEPATH += E:\opencv3.1.0\build\include\opencv2\ INCLUDEPATH += E:\opencv3.1.0\build

opencv视频学习第五课(视频播放控制)笔记整理

这次是学习怎么创建一个控制台的滚动条,并且使用它控制视频的播放.为了测试一些东西,改编了视频教程中的代码. #include "stdafx.h" #include "highgui.h" #include "cv.h" CvCapture* g_capture = NULL; //记录滚动条的当前位置 int g_slider_pos = 0; //对视频帧进行计数的变量 int frame_count = 0; void onTrackbar