Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB

Как установить OpenCV на Qt под Windows

OpenCV, Qt

Введение
Хотел бы выразить благодарность Евгению за этот замечательный сайт и за то что он помогает начинающим программистом и не только развиваться. Хотел бы попросить и других пользователей внести свой вклад в развития данного проекта) Спасибо всем)
Ниже описанные действие были сделаны мной когда я устанавливал для себя OpenCV . Хотелось бы подчеркнуть что в интернете нет ПОЛНОЙ статьи на эту тему. Так как когда я это устанавливал выходили ошибки а ответы приходилось искать то в рунете то у американцев то черти знает у кого.



Лан. Поехали)

Для установки OpenCV на Qt под OS Windows нам нужно.

0. Скачать OpenCV с официального сайта. Достаем из архива файлы.
https://opencv.org/

1. Скачать CMake с официального сайта. Достаем из архива файлы.
https://cmake.org/


2. Сам Qt ( на данный момент у меня стоит 5.10.1 v)
3. На Диске C:\ или на диске D:\ создает папку OpenCV
3.0 В этой папке(OpenCV) скидываем папку, которую мы достали из архива OpenCV.zip.
3.1 В этой же папке (OpenCV) создаем папке OpneCV_bin
4. Запускаем СMake

ВНИМАНИЕ!!!
Обратите внимание на ссылку
C:/OpenCV/opencv/sources(Это в папке которую мы разархивировали после того как скачали в ней есть эта папка SOURCES!)
C:/OpenCV/opencv_bin(А это пустая ! папка которую мы создали)

5. ВАЖНО!!!
В этом списке снимите флажок ENABLE_PRECOMPILED_HEADERS, WHIT_IPP, WHIT_CUDA, WHIT_TBB.
В этом списке постьвте  флажок WHIT_QT, WHIT_OPENGL  поменять на Release
6. Нажимаем на Configuer там будет проходить процесс установки и он остановится. Некоторые поля будут красными их нужно поменять в ручную.

Установите QT_MAKE_EXECUTABLE в D: \ Qt \ 5.9 \ mingw53_32 \ bin \ qmake.exe
 Установите Qt5Concurrent_DIR в D: \ Qt \ 5.9 \ mingw53_32 \ lib \ cmake \ Qt5Concurrent
 Установите Qt5Core_DIR в D: \ Qt \ 5.9 \ mingw53_32 \ lib \ cmake \ Qt5Core
 Установите Qt5Gui_DIR в D: \ Qt \ 5.9 \ mingw53_32 \ lib \ cmake \ Qt5Gui
 Установите Qt5Test_DIR в D: \ Qt \ 5.9 \ mingw53_32 \ lib \ cmake \ Qt5Test
 Установите Qt5Widgets_DIR в D: \ Qt \ 5.9 \ mingw53_32 \ lib \ cmake \ Qt5Widgets
 Установите Qt5OpenGL_DIR в D: \ Qt \ 5.9 \ mingw53_32 \ lib \ cmake \ Qt5OpenGL
 Установите CMAKE_BUILD_TYPE для Release или RelWithDebInfo

потом занова нажимает на Конфиг а после окончания на Генерацию( Generate). И все, завкрываем СMake.
7. Открываем командную строку и заходим в папку C:\OpenCV\opencv_bin (Это в моем случае) и в командной строке набираем

 cd с: \OpenCV\opencv_bin  
 mingw32-make -j 8
 mingw32-make install

Дорогие друзья Установить OpenCV на Qt под MacOS можно тоже также....но там нужно использовать команду sudo make
8. Потом добавляем PATH

Заходим в свойства МОЙ КОМПЬЮТЕР

Все. Мы установили все)) Теперь нужно открыть проект в Qt и добавить в проект следующие ссылки

Пример кода внизу

# ------------------------------------------------- 
# 
# Проект, созданный QtCreator 2017-03-05T12: 30: 06 
# 
# --------------------------------- ----------------

QT        + =  core  gui

moreThan ( QT_MAJOR_VERSION ,  4 ) :  QT  + =  виджеты

TARGET  =  opencvtest 
TEMPLATE  =  приложение

# Следующий параметр определяет, что ваш компилятор генерирует предупреждения, если вы используете 
# любую функцию Qt, которая помечается как устаревшая (точные предупреждения 
# зависят от вашего компилятора). Пожалуйста, ознакомьтесь с документацией 
# устаревшего API, чтобы узнать, как отменить его код. 
ОПРЕДЕЛЕНИЯ  + =  QT_DEPRECATED_WARNINGS

# Вы также можете сделать код не скомпилированным, если вы используете устаревшие API. 
# Чтобы сделать это, раскомментируйте следующую строку. 
# Вы также можете отключить устаревшие API только до определенной версии Qt. 
#DEFINES + = QT_DISABLE_DEPRECATED_BEFORE = 0x060000 # отключает все API, устаревшие до Qt 6.0.0


ИСТОЧНИКИ  + =  основной . cpp \
         mainwindow . CPP

HEADERS   + =  mainwindow . час

FORMS     + =  mainwindow . щ

INCLUDEPATH  + =  D : \ opencv \ build \ include

LIBS  + =  D : \ opencv - build \ bin \ libopencv_core320 . dll 
LIBS  + =  D : \ opencv - build \ bin \ libopencv_highgui320 . dll 
LIBS  \ libopencv_imgproc320 . dll LIBS + = D : \ opencv - + =  D : \ opencv - build \ bin \ libopencv_imgcodecs320 . dll 
LIBS  + =  D : \ opencv - build \ bin
   build \ bin \ libopencv_features2d320 . dll 
LIBS  + =  D : \ opencv - build \ bin \ libopencv_calib3d320 . длл

# более правильный вариант, как set includepath и libs для mingw 
# добавить системную переменную: OPENCV_SDK_DIR = D: / opencv / build 
# читать http: //doc.qt.io/qt-5/qmake-variable-reference.html#libs

#INCLUDEPATH + = $$ (OPENCV_SDK_DIR) / включить

#LIBS + = -L $$ (OPENCV_SDK_DIR) / x86 / mingw / lib \
# -lopencv_core320 \ 
# -lopencv_highgui320 \ 
# -lopencv_imgcodecs320 \ 
# -lopencv_imgproc320 \ 
# -lopencv_features2d320 \ 
# -lopencv_calib3d320
и измените mainwindow.cpp следующим образом:

#include  "mainwindow.h"
#include  "ui_mainwindow.h"

#include  <opencv2 / core / core.hpp>
#include  <opencv2 / highgui / highgui.hpp>

MainWindow :: MainWindow ( родитель QWidget  * ) : QMainWindow ( родительский ), ui 
    
     ( новый  Ui :: MainWindow ) 
{ 
    ui -> setupUi ( this );

    // читаем изображение 
    cv :: Mat  image  =  cv :: imread ( "f: //1.jpg" ,  1 ); 
    // создаем окно изображения с именем «My Image» 
    cv :: namedWindow ( «My Image» ); 
    // показать изображение в окне 
    cv :: imshow ( «Мое изображение» ,  изображение ); 
}

MainWindow :: ~ MainWindow () 
{ 
    delete  ui ; 
}

Источник Qt wiki

Но там не все...я проходил эти тропы

W
  • #
  • July 25, 2018, 6:40 p.m.

Код снизу чет слетел....не знаю как подправить ....простите ребята(

Спасибо за статью. Я поправил все моменты с вёрсткой.

Comments

Only authorized users can post comments.
Please, Log in or Sign up
P
Feb. 18, 2019, 3:39 p.m.
Poyar

C++ - Test 001. The first program and data types

  • Result:73points,
  • Rating points1
НБ
Feb. 15, 2019, 1:03 p.m.
Николай Булахтин

C++ - Test 002. Constants

  • Result:25points,
  • Rating points-10
Last comments
V
Feb. 14, 2019, 6:41 p.m.
Vlad15007

Спасибо огромное! Заработало!
А
Feb. 12, 2019, 9:26 a.m.
Александр90

Сам разборался, спасибо.
А
Feb. 12, 2019, 8:19 a.m.
Александр90

День добрый! Можешь выложить форму mainwindow.ui от урока? Заранее спасибо
Feb. 11, 2019, 10:51 a.m.
Евгений Легоцкой

Нет, у меня проблема с жёстким диском случилась, занимался восстановлением ПК, ещё пару вечеров придётся этим заниматься, увы.
Now discuss on the forum
Feb. 17, 2019, 5:28 p.m.
Евгений Легоцкой

Добрый день. Очень извиняюсь за долгий ответ Первое, что нашёл, так это необходимость перерисовать чекбокс. void CheckBoxDelegate::paint(QPainter *painter, const QStyleOptionViewItem ...
Feb. 15, 2019, 3:36 p.m.
Евгений Легоцкой

Ну я тут нашёл одно решение, но сам его не проверял. Вам нужно помещать фамилии скорее всего в ячейки заголовка, и потом просто перерисовывать их QHeaderView * header = m_ui->tableWidget...
Feb. 15, 2019, 7:53 a.m.
Евгений Легоцкой

Добрый день! Не работал с remoteobjects, поэтому глянул документацию, чтобы рассмотреть, что это за зверь. После просмотра документации сложилось стойкой впечатление, что это вполне возм...
m
Feb. 14, 2019, 6:28 p.m.
mr_roman

Нашел решение на Java. Удалось интегрировать в проект сервиса на Qt, теперь из Qt запускаю Java-код акселерометра.
Join us in social networks

For registered users on the site there is a minimum amount of advertising