SIGABRT, когда cvReleaseImage - PullRequest
       8

SIGABRT, когда cvReleaseImage

1 голос
/ 12 июля 2011

Я думаю, что я путаю с указателями ...

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

Есть идеи? Спасибо!

1 Ответ

3 голосов
/ 12 июля 2011

ОТ HighGUI Справочное руководство :

Возвращенное изображение не должно быть выпущено или изменено пользователем.

Вы также пропускаетедва cvImage с, которые вы создаете.

...