我想我对指针感到困惑...

Vision vis;
    IplImage* imgB0=cvCreateImage(img_sz, IPL_DEPTH_32F, 1);
    IplImage* imgB1=cvCreateImage(img_sz, IPL_DEPTH_32F, 1);
    //Get next frame
    vis->getFrame();
    imgB0=vis->image;
    usleep(3);
    vis->getFrame();
    imgB1=vis->image;
    cvAddWeighted(imgB0, 1./(float)2., imgB1,1./(float)2.,0,imgB1);
    cvReleaseImage(&imgB0); //<-SIGABRT
    ...

Vision.h:
 class Vision
    {
    public:
        IplImage* image;
...

Vision.cpp:
void Vision::getFrame()
    {
        image = cvQueryFrame(capture);
    }

有任何想法吗?
谢谢!

最佳答案

FRom HighGUI Reference Manual:



您还会泄漏您创建的两个cvImage

关于c++ - SIGABRT当cvReleaseImage,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6665698/

10-11 17:05