• 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);
    }






  • 相关阅读:
    Java 环境搭建的一些问题
    DefaultHttpClient is deprecated 【Api 弃用]】
    Java良葛格 学习笔记《二》
    Java良葛格 学习笔记
    JAVA EE 运行环境配置(包含JAVA SE)
    AIR使用文件对象操作文件和目录
    As3.0 类的【枚举】
    Java&&As3.0 中的final 关键字
    字符串参数组合
    PHP 超级全局变量
  • 原文地址:https://www.cnblogs.com/weixinhum/p/3916677.html
Copyright © 2020-2023  润新知