你好我基本上试图使一个应用程序显示和Opencv Iplimage转换为标签中的QImage,我做了一个简单的例子,它工作得很好,但现在当我尝试将该图像转换集成到另一个项目时,我得到undefined Opencv函数引用如下:未定义引用来自Highgui的`cvQueryFrame'all
我实际上使用了我第一次尝试图像转换时使用的相同库路径,只是这次它不起作用。我对Qt很新,我不知道问题出在哪里:
#include <qt4/QtGui/QApplication>
#include "myqtapp.h"
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <opencv/highgui.h>
#include <opencv/cv.h>
using namespace std;
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
myQtApp *dialog = new myQtApp;
//********************************************************************************************************
QImage myImage;
QLabel label_5;
IplImage* frame;
//label_5 = new QLabel(myQtAppDLG); //Not using this Yet
CvCapture* capture = cvCreateFileCapture( "garden.bmp" );
frame = cvQueryFrame( capture );
cvCvtColor(frame,frame,CV_BGR2RGB);
myImage = QImage((unsigned char *)frame->imageDataOrigin,frame->width,frame->height,QImage::Format_RGB888);
//label_5.setPixmap(QPixmap::fromImage(myImage)); //Not using this Yet
//********************************************************************************************************
dialog->show();
return app.exec();
}
main.cpp:(.text+0x44): undefined reference to `cvCreateFileCapture'
main.cpp:(.text+0x4c): undefined reference to `cvQueryFrame'
main.cpp:(.text+0x62): undefined reference to `cvCvtColor'
正如你所看到的,我尝试做的第一件事就是使用一些像CvQueryFrame这样的Opencv函数,有趣的是我使用的是第一次使用的完全相同的包含路径,也链接了完全相同的动态库。我尝试过不同的路径和编译器,但似乎没有任何工作,我不知道错误可能在哪里。我使用Linux Ubuntu和Netbeans C ++,任何提示?
答案 0 :(得分:0)
您错过了将highgui库包含在库路径中。 cvCreateFileCapture和cvCvtColor是该库的一部分。