OpenCV 2.1 Memory leak with simple video streaming on Mac OSX

Even the simplest video streaming causes a memory leak for me.

cvNamedWindow("1",0);
CvCapture *fc = cvCaptureFromCAM(0);
IplImage *frame = NULL;
CvSize frameSize;
frameSize.height = cvGetCaptureProperty(fc, CV_CAP_PROP_FRAME_HEIGHT);
frameSize.width = cvGetCaptureProperty(fc, CV_CAP_PROP_FRAME_WIDTH);

while (1) { 
    IplImage *wrkImage = NULL;

    frame = cvQueryFrame(fc);

    if (!frame) 
        break;

    wrkImage = cvCreateImage(frameSize, IPL_DEPTH_8U, 3);
    cvCopy(frame, wrkImage, NULL);

    cvShowImage("1", wrkImage);

    char c = cvWaitKey(33);
    if (c == 27) {
        break;
    }

    cvReleaseImage(&wrkImage);
}

-, "Learning OpenCV", "", openCV, " , ". , , cvQueryFrame. , cvQueryFrame , , cvQueryFrame, -, . , wrkImage, . , , ! , - . , - OpenCV 2.1 Mac , . , - , .

OpenCV !

: , cvShowImage(). , cvShowImage , , , . OpenCV cvShowImage Memory Leaks OSX, , , . , ... , !

UPDATE: MacOS OpenCV ( . , , macports / OpenCV. Macports - OpenCV.

+5
2

, , . MacPorts openCV cvShowImage(). , .

, , openCV , MacPorts, cmake.

0
  • cvQueryFrame , . , , FYI.

  • IplImage. , , , .

:

while (true) { 

    frame = cvQueryFrame(fc);

    if (!frame) 
        break;

    cvShowImage("1", frame);

    char c = cvWaitKey(33);
    if (c == 27) {
        break;
    }

}

EDIT, cvShowImage, cvReleaseImage, , .

-1

All Articles