首页 > 代码库 > OpenCV 视频处理框架
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); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。