开发者

OpenCV 2.2: bad argument in unknown function, file ..\..\..\..\ocv\opencv\modules\core\src\array.cpp

开发者 https://www.devze.com 2023-03-17 02:39 出处:网络
i have the 开发者_Python百科above error when I\'m trying to compile my code. Its a very very very simple function and I cant figure out why I have the problem. The worst is that i cant even find where

i have the 开发者_Python百科above error when I'm trying to compile my code. Its a very very very simple function and I cant figure out why I have the problem. The worst is that i cant even find where array.cpp is in the opencv folder so i cant see whats wrong. Does anyone know? pls help!

int imgreg_capture_image()
{
    /*********************Try capturing an image from the camera first*************************************/

    CvCapture* imgregCapture = cvCaptureFromCAM( CV_CAP_ANY );
   if ( !imgregCapture ) {
     fprintf( stderr, "ERROR: capture is NULL \n" );

     exit(-1);
   }

     // Get one frame
     IplImage* frame = 0;
     frame = cvQueryFrame(imgregCapture);
     if ( !frame ) {
       fprintf( stderr, "ERROR: frame is null...\n" );
       return -1;
     }

   //save the image into a file
    cvSaveImage( CAPTURE_FILE, frame );

   // Release the capture device housekeeping

    cvReleaseCapture(&imgregCapture);

    cvReleaseImage(&frame);

   return 0;
   /***************Finish Try capturing an image from the camera first*************************************/
}


It is stated in the documentation that the images returned by cvQueryFrame don't have to be released. In your case delete

cvReleaseImage(&frame);

The de/allocation of frame is managed internally by the capturing device.

Hope that helps!

EDIT: If you wish to further process your image, use cvCopy(frame, yourManagedImage);, and work with yourManagedImage instead of the original frame.

0

精彩评论

暂无评论...
验证码 换一张
取 消