0

我正在使用这个程序与 Opencv 和 1394cmu 从火线中获取视频流。但是当我编译项目时,我得到了一些错误。库在eclipse中正确导入实际上对象的方法被看到并且两个ddl也被正确导入所以我不知道这是问题所在

undefined reference to `_imp___ZN11C1394Camera10InitCameraEi'   
undefined reference to `_imp___ZN11C1394Camera12AcquireImageEv' 
undefined reference to `_imp___ZN11C1394Camera12SetVideoModeEm' 
undefined reference to `_imp___ZN11C1394Camera14SetVideoFormatEm'   
undefined reference to `_imp___ZN11C1394Camera16StopImageCaptureEv' 
undefined reference to `_imp___ZN11C1394Camera17SetVideoFrameRateEm'    
undefined reference to `_imp___ZN11C1394Camera21StartImageAcquisitionEv'
undefined reference to `_imp___ZN11C1394Camera6getRGBEPhm'  
undefined reference to `_imp___ZN11C1394Camera9CheckLinkEv' 
undefined reference to `_imp___ZN11C1394CameraC1Ev' 



 #include "1394Camera.h"

// adjust parameters to your needs
#define CAM_RES_WIDTH 640
#define CAM_RES_HEIGHT 480
#define CAM_RES_CHANNELS 3

//camera object of the 1394CMU driver
C1394Camera Camera;


 int main( int argc, char** argv )
{
    // several checks if camera is connected and can be initialized as well as setting
    // of camera properties and starting of image aquisition
    if(Camera.CheckLink() != CAM_SUCCESS)
    {
            printf("\nNo Link.");
            return -1;
    }
    if(Camera.InitCamera() != CAM_SUCCESS)
    {
            printf("\nInitialization failed.");
            return -1;
    }
    if(Camera.SetVideoFormat(0) != CAM_SUCCESS)
    {
            printf("\nCould not set video format.");
            return -1;
    }
    if(Camera.SetVideoMode(5) != CAM_SUCCESS)
    {
            printf("\nCould not set video mode.");
            return -1;
    }
    if(Camera.SetVideoFrameRate(4) != CAM_SUCCESS)
    {
            printf("\nCould not set frame rate.");
            return -1;
    }
    if(Camera.StartImageAcquisition() != CAM_SUCCESS)
    {
            printf("\nCould not start image acquisation.");
            return -1;
    }

  //give camera a chance to inititalize and adjust before starting frame aquisition
    cvWaitKey(1000); 

    cvNamedWindow( "Source",1);     

    IplImage *Image = cvCreateImage( cvSize(CAM_RES_WIDTH, CAM_RES_HEIGHT), 8,      CAM_RES_CHANNELS);

  //aquire frame from camera
    if(Camera.AcquireImage() != CAM_SUCCESS)
    {       
            printf("\nCould not acquire image.");
            return 1;
    }

  //read frame from internal CMU1394 storage to buffer
    Camera01.getRGB((unsigned char*)(Image->imageData), (CAM_RES_WIDTH*CAM_RES_HEIGHT*3));

    cvShowImage("Source", Image);
    cvWaitKey(0);

    Camera.StopImageCapture();
    cvReleaseImage(&Image);
    cvDestroyWindow("Source");
}
4

1 回答 1

0

您如何编译以及如何链接您的程序?您可能在链接时忘记了一些库,例如类似-lopencv或其他的东西。图书馆的顺序很重要。

于 2011-11-04T15:05:58.377 回答