从JPG制作一个avi文件



嗨,我试图让这个代码运行,但它给我分割错误。我想在本地保存4秒的IP摄像机馈送作为avi进行进一步处理。我似乎无法访问直接订阅,所以我不得不采用间接方式。

#include "cv.h"
#include "highgui.h"
#include<iostream>
using namespace std;
int main()
{
    IplImage *img;
    CvSize size;
    img = cvLoadImage(" http://192.168.1.4:1024/shot.jpg");
    size.width=img->width;
    size.height = img->height;
    CvVideoWriter *writer = cvCreateVideoWriter(
        "out.avi",
        CV_FOURCC('P','I','M','1') ,
        30,
        size,
        TRUE
    );
    if(writer ==NULL)
    {
        cout<<"No videowrite here !!!!"<<endl;
    }
    while(img!= NULL)
    {
        img = cvLoadImage("http://local_ip:1024/shot.jpg");
        cvWriteFrame(writer,img);
    }
    cvReleaseVideoWriter(&writer);
    cvReleaseImage(&img);
    return 0;
}

第一个答案肯定是有帮助的。然而,这里有更多的问题。在某些情况下,您将使用NULL img访问cvReleaseImage(&img); !此外,虽然这可能不是你目前的问题,你也应该确保你不cvReleaseVideoWriter(&writer);如果writer == NULL

相关内容

  • 没有找到相关文章