Jak połączyć opencv w QtCreator i użyć biblioteki Qt
To pytanie musi być wielokrotnie powielane, ale po prostu nie działa i czasami pozostaje bez odpowiedzi. Źródłami informacji są głównie te
http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml
http://www.youtube.com/watch?v=dgcXYQijV6c
Jest to suma tego, co myślę, że należy / może zrobić. (A teraz to działa dla mnie.) Mam nadzieję, że wspomniałem o wszystkim od samego początku, celem jest napisanie bardzo jasnego samouczka.
Instalacja OpenCV dla QtCreator
2.1Zainstalować: Ostrzeżenie, wszystko, czego używa Qt (np. OpenCV), musi znajdować się w katalogach, które nie zawierają białych spacji w nazwach. - tzn. „Program Files” jest nieprawidłowy. (Ale nie chcę, aby różne pliki programów gromadziły się bezpośrednio na C, więc stworzyłem tylko folder „Programy”, w którym wszystko ważne jest zainstalowane)Ściągnij: cmake-2.8.10.2-win32-x86.exe - Zainstaluj dla wszystkich użytkowników (może to być w Program Files)Ściągnij: OpenCV-2.4.0.exe, rozpakuj do:C: Programy opencv24 - stworzy dir „opencv”; dodaj kolejny folder „opencv_bin”. Teraz wygląda tak:
C: Programy opencv24 opencv *
C: Programy opencv24 opencv_binUstaw zmienną środowiskową PATH, tak aby istniał link do kompilatora MinGW. na przykładC: Programy Qt Qt5.0.1 Narzędzia MinGW bin;Uruchom cmake-gui.exe
6.1kod źródłowy: ustaw domyślny katalog OpenCV;C: Programy opencv24 opencv
6.2pliki binarne: ustaw katalog opencv_bin; C: Programy copcv24 opencv_bin
6.3kliknij konfiguruj:WybieraćMinGW Makefile iOkreśl rodzime kompilatory, Kliknij NastępnyPole C dotyczy gcc.exe;C: /Programs/Qt/Qt5.0.1/Tools/MinGW/bin/gcc.exePole C ++ jest dla g ++. Exe;C: /Programs/Qt/Qt5.0.1/Tools/MinGW/bin/g ++. ExePole fortran może być puste, kliknij przycisk Zakończ6.4Pojawi się wiele czerwonych linii Do pola wyszukiwania wprowadź jeden po drugim: WITH_QT, WITH_TBB, WITH_IPP, WITH_CUDA, CMAKE_BUILD_TYPEWITH_QT - należy wybrać.WITH_TBB, WITH_IPP, WITH_CUDA - musi być odznaczoneCMAKE_BUILD_TYPE - kliknij i wprowadź tekst „Debuguj” (bez cudzysłowów).Wyczyść tekst z pola wyszukiwania.6.5kliknij Konfiguruj i klikaj dalej, aż znikną wszystkie czerwone liniekliknij wygeneruj iblisko cmake-gui.exeIdź doterminal (~ wiersz polecenia), przejdź do katalogu, w którym znajdują się kompilacje(opencv_bin) i wpiszmingw32-make
Gdy proces kończy się po długim czasie, wpiszmingw32-make install
Dodaj do zmiennej Path ścieżkę do QtCreator / bin C: Programy Qt Qt5.0.1 Narzędzia QtCreator bin
Teraz stworzyłem nową aplikację konsoli w 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
I główny plik:
//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;
}