2013-02-17 3 views
1

Я искал хорошее руководство в течение нескольких дней, но не могу найти его для последних выпусков Qt и OpenCv. Я слышал, что они оба очень хороши, поэтому я хотел бы сделать проект с этими двумя. Я начинаю с Qt и OpenCv, так что вы можете сказать мне шаг за шагом?Qt creator 5.0.1 с OpenCv 2.3.4 на окнах

ответ

18

Я очень долго боролся с этим, и сегодня утром он работал. Я решил, что верну это замечательное сообщество (так как это помогло мне в многочисленных случаях), опубликовав мои выводы. Наслаждайтесь!

Я потратил много времени на то, чтобы работать с qt5 и opencv 2.4.3 (так долго на самом деле они выпустили opencv 2.4.4, прежде чем я его заработал.) Я смотрел не на несколько учебников, но лучше один далеко был этот один, так что главным креди и много благодарностей:

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

Я не могу не подчеркнуть, насколько этот урок помог мне, и я пишу это руководство как дополнение. В основном я предоставляю обновленные пути к компиляторам и библиотекам и описываю, как обрабатывать ошибки, которые я получил на этом пути. Используйте учебник поваренной книги для фотографий и более подробные инструкции.

Но, как я намекал, дела не были безболезненными и шли согласно инструкциям, поэтому я решил, что поделюсь тем, что я сделал, чтобы решить проблемы, и, надеюсь, это поможет кому-то.

ПРИМЕЧАНИЕ: Я не совсем уверен, что я делаю в половине случаев, когда сомневаюсь, я просто склонен следовать за своей кишкой, поэтому, если кто-то с большим количеством знаний и опыта обнаруживает что-то неточное, пожалуйста, скажите мне и Я исправлю это. Это просто то, что я сделал, и это сработало для меня, теперь я создаю программы openCV в qt creator 5 с помощью C++.

Я использовал следующие пути:

Qt: C: \ SOFTWARE \ Qt

каталог OpenCV распакуйте: C: \ Программное обеспечение \ OpenCV выигрыша

OpenCV установленный каталог: c: \ software \ opencvMinGW

Загрузки:

Итак, для начала, скачайте последнюю библиотеку Qt и создатель с MinGW (в моем случае 5.0.1)

Затем загрузить OpenCV, который в моем случае был 2.4.4

Скачать CMake (на данный момент версии 2.8.10.2)

установки:

Установка Qt (Это т ake довольно долгое время).

Запустите openCV exe, который выберет все необходимые вам файлы. Как было сказано ранее, я использовал C: \ software \ opencv-win как место для их извлечения.

Установите CMake. Обязательно выберите «Добавить CMake в системный путь для всех пользователей» (или аналогичный).

Добавить C: \ Software \ Qt \ 5.0.1 \ mingw47_32 \ BIN (или эквивалент) на пути в системных переменных (Как это сделать, описано в руководстве я связан в начале)

RESTART КОМПЬЮТЕР ,

Компиляция OpenCV:

Начало Cmake-гуй. В разделе «Где находится исходный код:» Вы просматриваете, где вы распаковывали opencv (в моем случае C: \ software \ opencv-win), а в разделе «Где создавать двоичные файлы» вы вводите нужные вам готовые библиотеки (Я использовал c: \ software \ opencvMinGW), затем нажмите сгенерировать и создать каталог. Во всплывающем окне вы выбираете «MinGW makefiles» и «Specify native compilers». В C для меня путь стал «C: /software/qt/Tools/MinGW/bin/gcc.exe», а для C++ «C:/software/qt/Tools/MinGW/bin/g ++. Exe», вы введите соответственно, где вы установили Qt.

Нажмите configure.

Это то, что для меня стало фанки. Я получил сообщение об ошибке:

"CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_CXX_COMPILER_ENV_VAR CMake Error: Could not find cmake module file:C:/software/opencvMinGWblah/CMakeFiles/2.8.10.2/CMakeCXXCompiler.cmake CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_C_COMPILER_ENV_VAR CMake Error: Could not find cmake module file:C:/software/opencvMinGWblah/CMakeFiles/2.8.10.2/CMakeCCompiler.cmake Configuring incomplete, errors occurred!"

Я подозревал, что это связано с программой-макетом. Duh. Но как это исправить?

я решил его проверить кнопку «Дополнительно», найти запись CMAKE_MAKE_PROGRAM и указав путь «C: /software/qt/Tools/MinGW/bin/mingw32-make.exe»

Все хорошо это хорошо кончается. Или это?

Проверьте кнопку «Сгруппировано», откройте категорию «С», отметьте «WITH_QT». Нажмите configure. Другой кусок ошибок:

CMake Warning at C:/software/CMake 2.8/share/cmake-2.8/Modules/FindQt4.cmake:615 (message): C:/software/qt/5.0.1/mingw47_32/bin/qmake.exe reported QT_INSTALL_LIBS as "C:/software/qt/5.0.1/mingw47_32/lib" but QtCore could not be found there. Qt is NOT installed correctly for the target build environment. Call Stack (most recent call first):
cmake/OpenCVFindLibsGUI.cmake:8 (find_package) CMakeLists.txt:377 (include)

Итак, как можно было бы подозревать, из сообщения об ошибке, программа не может найти библиотеки. Я исправил это следующим образом. Разверните categori QT, найти значение QT_QTCORE_LIBRARY_DEBUG, введите

"C: /software/qt/5.0.1/mingw47_32/bin/Qt5Cored.dll" и чуть ниже вы найдете QT_QTCORE_LIBRARY_RELEASE, введите «C:/software/qt/5.0.1/mingw47_32/bin/Qt5Core.dll «СЕЙЧАС, вы можете нажать configure (надеюсь) без предупреждений, после чего вы можете нажать« Создать », и все будет денди, и вы сможете следовать учебнику поваренной книги.

Btw, это дополнительные переменные пути, которые я добавил в системные переменные. Я не знаю, может быть, пару из них не нужны, но я не собираюсь начинать возиться с ними, когда все наконец сработает.

C:\software\qt\Tools\MinGW\bin; 
C:\software\Qt\Tools\MinGW; 
C:\software\opencvMinGW\install\bin; 

И не забывайте, что вам нужно изменить имена DLL до 244 вместо 231, как это:

LIBS += -LC:\\software\\opencvMinGW\\install\\lib \ 
    -lopencv_core244.dll \ 
    -lopencv_highgui244.dll \ 
    -lopencv_imgproc244.dll \ 
    -lopencv_features2d244.dll \ 
    -lopencv_calib3d244.dll 

Я действительно надеюсь, что это поможет кому-то!

+1

Я знаю, что это не идеальный ответ, но если у вас возникли проблемы с opencv и qt 5, рассмотрите возможность использования qt 4 - достаточно легко собрать его, используя этот учебник http://docs.opencv.org/doc/ tutorials/introduction/windows_install/windows_install.html Одна важная вещь - cmake попытается найти qt 5, чтобы установить переменную WITH_QT в 4 или в cmake \ OpenCVFindLibsGUI.cmake комментарий или удалить строки 18-32. – cyriel