1

こんにちは、基本的に、Opencv Iplimage を表示し、ラベルで QImage に変換するアプリケーションを作成しようとしています。簡単な例を実行したところ、問題なく動作しましたが、その画像変換を別のプロジェクトに統合しようとすると、未定義の 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++ を使用しています。ヒントはありますか?

4

1 に答える 1

0

ライブラリ パスに highgui ライブラリを含めませんでした。cvCreateFileCapture と cvCvtColor はそのライブラリの一部です。

于 2012-05-16T07:41:38.613 に答える