OpenCV 2.2:未知函数中的错误参数,文件.. \ .. \ .. \ .. \ _ ocv \ opencv \ modules \ core \ src \ array.cpp

时间:2011-07-05 07:14:04

标签: c++ c opencv camera

当我尝试编译代码时出现上述错误。它是一个非常非常简单的功能,我无法弄清楚为什么我有这个问题。最糟糕的是,我甚至无法找到array.cpp在opencv文件夹中的位置,所以我看不出什么是错的。有人知道吗?请帮助!

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*************************************/
}

1 个答案:

答案 0 :(得分:1)

cvQueryFrame返回的图像不必被释放stated in the documentation。在您的情况下删除

cvReleaseImage(&frame);

frame的de / allocation由捕获设备内部管理。

希望有所帮助!

编辑:如果您希望进一步处理图片,请使用cvCopy(frame, yourManagedImage);,然后使用yourManagedImage代替原始frame