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

时间: 07-14

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

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

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

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

popcorn-js视频Video框架简单用法

<div> <video class="video" id="ourvideobig" preload="auto" controls="controls"> <source src="/File/video/1.mp4" /> </video> </div> <script> //视频列表 便于多个视频切换 var videos =

OpenCV——视频颜色识别

#include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; int minh,maxh,mins,maxs,minv,maxv; void helptext() { cout << "B——黑色\n"; cout << "H——灰色\n"; cout << "W——白色\n&q

opencv视频跟踪2

在前面的报告中我们实现了用SURF算法计算目标在移动摄像机拍摄到的视频中的位置.由于摄像机本身像素的限制,加之算法处理时间会随着图像质量的提高而提高,实际实验发现在背景复杂的情况下,结果偏差可能会很大. 本次改进是预备在原先检测到的特征点上加上某种限制条件,以提高准确率. 问题:如何判定检测到的特征点是否是我们需要的点(也就是目标区域上的点)? 可行方案:用形态学找出目标的大致区域,然后对特征点判定. 特征点(SURF算法或者其他的算法)已有,我们来一步步实现找到目标大致区域. 下图假设为视频中