Затачиваем OpenCV под QT на Windows: Компиляция OpenCV под QT, создание OpenCV проекта на QT / OpenCV / Recog.ru - Распознавание образов для программистов


Затачиваем OpenCV под QT на Windows: Компиляция OpenCV под QT, создание OpenCV проекта на QT



Привет, народ! Сегодня расскажу вам как компилировать OpenCV с поддержкой QT…
Взято отсюда: http://troyashka.blogspot.com/

1. Скачиваем OpenCV2.2
2. Скачиваем CMake
3. Скачиваем QT
4. Скачиваем CodeBlocks

Скачали? Едем дальше :)
5. Устанавливаем OpenCV2.2 (установка описана здесь)
6. Устанавливаем CMake
7. Устанавливаем QT (по умолчанию)

8. Устанавливаем CodeBlocks. Не забываем добавить переменные окружения:

8.1. Пуск — выполнить -> rundll32.exe sysdm.cpl, EditEnvironmentVariables
8.2. Выбираем PATH -> Изменить
8.3. Добавляем в конец ;C:\Program Files\CodeBlocks\MinGW\bin;C:\Qt\2010.05\qt\bin
8.4. Убиваем тыком мыши кнопки OK до тех пор, пока их не будет видно на вашем мониторе :)

9. Запускаем %ProgramFiles%\CMake\bin\cmake-gui.exe (запуск желательно с правами админа)
(у меня OpenCV лежит тут: C:\OpenCV2.2_QT\opencv)

Устанавливаем следующие параметры:



10. Жмем Confugure, на внезапное окошко отвечаем Yes
11. Далее в раскрывающемся списке выбираем «MiniGW Makefiles» и ставим галочку «Specify native compilers», жмем Next

12. В следующем окне указываем пути компиляторов:
12.1. Для C: C:/Program Files/CodeBlocks/MinGW/bin/gcc.exe
12.2. Для C++: C:/Program Files/CodeBlocks/MinGW/bin/g++.exe
12.3. Жмем Finish

13. В главном окне CMake ставим галочки на:
WITH_QT
WITH_QT_OPENGL

14. Жмем Configure

15. Указываем путь для QT_QMAKE_EXECUTABLE
(в моем случае это C:/Qt/2010.05/qt/bin/qmake.exe)
Да тут важный момент — НЕ ПЕРЕПУТАЙТЕ файлы qmake.exe (нужен тот, что в папке bin)

15.1. Ставим галочку BUILD_EXAMPLES
15.2. Устанавливаем значение CMAKE_BUILD_TYPE равным Debug
15.3. Еще раз жмем Configure

Ошибки должны исчезнуть и внизу появится надпись Configuring done

16. Жмем кнопку Generate
Внизу появится надпись Generating done
Закрываем CMake

17. Запускаем консоль CMD с правами администратора, заходим в папку указанную во втором поле на шаге 9
(в моем случае это C:\OpenCV2.2_QT\opencv\pro)

18. В консоли CMD пишем: mingw32-make
Жмем ENTER и любуемся компиляцией:



19. В консоли CMD пишем: mingw32-make install
Опять жмем ENTER и ждем окончания



20. Теперь можно переходить и к созданию OpenCV проекта на QT!
21. Создаем Empty Project в Qt Creator

22. В *.pro-файл добавляем следующее:

INCLUDEPATH+=C:\\OpenCV2.2_QT\\opencv\\pro\\include
INCLUDEPATH+=C:\\OpenCV2.2_QT\\opencv\\pro\\include\\opencv
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_core220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_contrib220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_features2d220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_flann220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_highgui220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_objdetect220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_video220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_legacy220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_calib3d220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_ffmpeg220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_imgproc220d.dll.a
LIBS+=C:\\OpenCV2.2_QT\\opencv\\pro\\lib\\libopencv_ml220d.dll.a

23. Добавляем новый *.cpp файл, к примеру test.cpp

24. Пихаем в свежесозданный файлик это:

#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
    IplImage *img = cvLoadImage("D:\\girl.png");
    cvNamedWindow("Hello, QT! From OpenCV!");
    cvShowImage("Hello, QT! From OpenCV!", img);
    cvWaitKey();
    return 0;
}

25. Запускаем проект при помощи нажатия CTRL+R и видим РЕЗУЛЬТАТ!



В ходе работы возникали следующие проблемы:
1. Сборка OpenCV из SVN-репозитория даёт ошибку
2. Создание QT-проектов Widgets|GUI дают ошибку на функциях OpenCV
  • +1
  • 06 апреля 2011, 18:32
  • HunteX

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.