Hallo Leute,
ich möchte auf meinem neuen Rechner mit 64bit MS7 die OpenCV library in
einem Qt 4.7 Projekt verwenden. Nach langem herumprobieren habe ich es
nun geschafft die libs so zu linken, dass ich keine Fehler mehr bekomme.
Das Beispielprogramm lässt sich nun kompilieren. Jedoch verhält es sich
nicht ganz so wie ich es erwartet habe. Wenn ich das Programm ausführe
werden keine Ausgaben angezeigt. Weder das Bild, noch irgendeine
cout-Ausgabe.
Ich vermute, dass die Ursache des Problems irgendwo in den verschiedenen
Architekturen liegt (MinGV = 32bit, OpenCV = 32bit, PC = 64bit). Kann
das sein? Hat jemand von euch die Kombination aus OpenCV und QT4 schon
auf einem 64bit Rechner zum laufen bekommen? Und wenn ja, wie?
lg much
PS: Hier noch meine Dateien.
Meine .pro Datei:
1 | TEMPLATE = app
|
2 | CONFIG += console
|
3 | CONFIG -= qt
|
4 |
|
5 | INCLUDEPATH += "C:\OpenCV_2-4\build\include"
|
6 |
|
7 | LIBS += "C:\OpenCV_2-4\build\x86\mingw\lib\libopencv_core240.dll.a" \
|
8 | "C:\OpenCV_2-4\build\x86\mingw\lib\libopencv_highgui240.dll.a"
|
9 |
|
10 | SOURCES += main.cpp
|
Mein Beispielprogramm:
1 | #include <opencv2/highgui/highgui.hpp>
|
2 | #include <opencv2/core/core.hpp>
|
3 | #include <iostream>
|
4 |
|
5 | using namespace cv;
|
6 | using namespace std;
|
7 |
|
8 | int main(int argc, char** argv){
|
9 |
|
10 | Mat image;
|
11 | image = imread("pin-up.jpg",CV_LOAD_IMAGE_COLOR);
|
12 |
|
13 | if(!image.data){
|
14 | cout << "Could not open or find the image" << std::endl;
|
15 | return -1;
|
16 | }
|
17 |
|
18 | cout << "Image loaded successful" << std::endl;
|
19 |
|
20 | namedWindow("Display window", CV_WINDOW_AUTOSIZE);
|
21 | imshow("Display window", image);
|
22 |
|
23 | waitKey(0);
|
24 | return 0;
|
25 | }
|