Comment faire un lien opencv dans QtCreator et utiliser la bibliothèque Qt

Cette question doit être double de nombreuses fois, mais il ne fonctionne tout simplement pas et, parfois, il reste encore sans réponse. Les Sources d'information sont principalement ces

http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml

http://www.youtube.com/watch?v=dgcXYQijV6c

C'est la somme de tout ce que je pense que l'on doit/peut faire. (Et maintenant ça fonctionne pour moi.) Heureusement je l'ai mentionné tout depuis le début, le but est d'écrire un tutoriel très clair.

Installation d'OpenCV pour QtCreator

  1. J'ai déjà MS Visual Studio 2010 Professional. (J'ai une licence libre, en tant qu'étudiant) - je pense que ce n'est pas nécessaire, juste une mention
  2. Télécharger: Qt 5.0.1 pour les 32 bits de Windows (MinGW 4.7, 823 MO)

    2.1 Installer: Avertissement, tout ce que Qt utilise (par exemple, OpenCV) doivent être dans des répertoires qui ne contiennent pas d'espaces vides dans leurs noms. - c'est à dire "Program Files" est erroné. (Mais je ne veux pas différents fichiers de programme à s'accumuler directement sur C, donc j'ai seulement fait un dossier "Programmes", dans lequel tout ce qui importe est installé)
  3. Télécharger: cmake-2.8.10.2-win32-x86.exe - Installer pour tous les utilisateurs (ce qui peut être dans Program Files)
  4. Télécharger: OpenCV-2.4.0.exe, extrait de: C:\Programs\opencv24 - il va créer un dir "opencv"; ajouter un autre dossier "opencv_bin". Maintenant, il ressemble à ceci:

    C:\Programs\opencv24\opencv*

    C:\Programs\opencv24\opencv_bin
  5. Définir la variable d'environnement PATH, de sorte qu'il y ait un lien de compilateur MinGW. par exemple, C:\Programs\Qt\Qt5.0.1\Tools\MinGW\bin;
  6. Commencer cmake-gui.exe

    6.1 code source: définir la valeur par défaut dir pour OpenCV; C:\Programs\opencv24\opencv

    6.2 binaires: définir la opencv_bin dir; C:\Programs\copencv24\opencv_bin

    6.3 cliquez sur configurer:

    • Choisir MinGW Makefiles et Spécifier natif compilateurs, cliquez sur suivant
    • Champ C est pour gcc.exe; C:/Programs/Qt/Qt5.0.1/Tools/MinGW/bin/gcc.exe
    • Champ de C++ g++.exe; C:/Programs/Qt/Qt5.0.1/Tools/MinGW/bin/g++.exe
    • Champ fortran peut être vide, cliquez sur terminer

    6.4 de Nombreuses lignes rouges apparaissent Pour le champ de recherche, entrez un par un: WITH_QT, WITH_TBB, WITH_IPP, WITH_CUDA, CMAKE_BUILD_TYPE

    • WITH_QT - doit être sélectionné.
    • WITH_TBB, WITH_IPP, WITH_CUDA - doit être désactivée
    • CMAKE_BUILD_TYPE - cliquez sur et entrez un texte "Debug" (sans les guillemets).
    • Effacer le texte à partir du champ de Recherche.

    6.5 cliquez sur configurer et de garder en cliquant sur configurer jusqu'à ce que toutes les lignes rouges ont disparu, alors cliquez sur générer et près cmake-gui.exe

  7. Aller à la terminal (~invite de commande), cd vers le répertoire où sont les versions (opencv_bin) et le type mingw32-make
  8. Lorsque le processus se termine, après un long temps, le type de mingw32-make install
  9. Ajouter dans la variable Path le chemin d'accès à la QtCreator/bin C:\Programs\Qt\Qt5.0.1\Tools\QtCreator\bin

Maintenant, j'ai créé une nouvelle application console dans QtCreator.

//cvHello.pro
QT       += core
QT       -= gui

TARGET = cvHello
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app
INCLUDEPATH += C:/Programs/opencv24/opencv_bin2/install/include
LIBS += "C:/Programs/opencv24/opencv_bin2/bin/*.dll"

SOURCES += main.cpp
OTHER_FILES += \
    img.JPG

Et le fichier principal:

//main.cpp
#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv/cv.h"

using namespace std;

int main()
{
    cout << "Hello World!" << endl;

    cv::Mat mat;
    mat = cv::imread("img.JPG");
    cvNamedWindow("hello");
    cv::imshow("hello",mat);

    cvWaitKey(0);

    return 0;
}
  • - Je définir les LIBS d'ici, alors que j'utilise un répertoire opencv_bin2, parce que j'ai reconstruit opencv plusieurs fois.
  • Mon projet cvImage est disponible sur GitHub et montre comment construire une application multiplate-forme avec Qt/OpenCV. Consultez le .pro fichier.
  • J'ai dû utiliser "CMAKE_BUILD_TYPE = Libération" plutôt que de " Debug as donné dans ici - votre première source.
  • De toute façon... je ne pouvais pas obtenir ce à travail!! Pas sûr.. poursuit-il
  • Dans CMake, je reçois cette erreur: "convient Qt version "" à partir de NOTFOUND, ce code nécessite Qt 4.x"
  • ce problème peut être résolu par regarder ici: stackoverflow.com/a/23998308/873072

InformationsquelleAutor Daniel Katz | 2013-04-08