繁体   English   中英

将视频另存为一系列图像opencv

[英]Saving video as series of images opencv

这个问题是针对运动检测的opencv代码错误的继续。 编辑后的代码可以正常工作,但是不会创建输出视频,它的字节数为零!这是怎么回事?此外,为运动检测而创建的边界框永远不会真正捕获运动,即不会执行任何操作我原本声称是这样做的,我对代码目标有误解吗?

  1. 如何纠正创作并保存视频?
  2. 需要修改哪些内容以检测运动并对其进行跟踪?
  3. 如何从每一帧将视频转换为一系列带编号的jpg图像,反之亦然。

这是可用于将视频框为一组图像的代码。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "cv.h"
#include <highgui.h>
#include "cxcore.h" 

int main( int argc, char** argv )
{    
     CvCapture *capture = cvCaptureFromAVI("E:\\Myvideo.avi");
             if(!capture) 
    {
        printf("!!! cvCaptureFromAVI failed (file not found?)\n");
        return -1; 
    }

    int fps = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);

    printf("* FPS: %d\n", fps);

    IplImage* frame = NULL;
    int frame_number = 0;
    char key = 0;   

    while (key != 'q') 
    {
        // get frame 
        frame = cvQueryFrame(capture);       
        if (!frame) 
        {
            printf("!!! cvQueryFrame failed: no frame\n");
            break;
        }       




        // quit when user press 'q'
        key = cvWaitKey(1000 / fps);
    }

    // free resources
    cvReleaseCapture(&capture);

    return 0;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM