W
WXQJuly 25, 2018, 2:10 p.m.

How to install OpenCV on Qt on Windows

Introduction
I would like to express my gratitude to Evgeny for this wonderful site and for the fact that he helps novice programmers and not only develop. I would like to ask other users to contribute to the development of this project) Thank you all)
The following steps were taken by me when I installed OpenCV for myself. I would like to emphasize that there is no FULL article on this topic on the Internet. Since when I installed it, errors came out and I had to look for answers in Runet, then from the Americans, then the devil knows who.


Lan. Go)

To install OpenCV on Qt under OS Windows, we need.

  1. Download OpenCV from the official site. We get files from the archive.

https://opencv.org/

  1. Download CMake from the official site. We get files from the archive.

https://cmake.org/

  1. Qt itself (at the moment I have 5.10.1 v)
  2. On Drive C:\ or drive D:\ creates a folder OpenCV
    3.0 In this folder (OpenCV) we drop the folder that we got from the OpenCV.zip archive.
    3.1 In the same folder (OpenCV) create a folder OpneCV_bin
  3. Run CMake

ATTENTION!!!
Pay attention to the link
C: / OpenCV / opencv / sources (This is in the folder that we unzipped after we downloaded it has this SOURCES folder!)
C:/OpenCV/opencv_bin (And this is an empty! folder that we created)

  1. IMPORTANT !!!
    In this list, uncheck ENABLE_PRECOMPILED_HEADERS, WHIT_IPP, WHIT_CUDA, WHIT_TBB.
    In this list, put the WHIT_QT flag, change WHIT_OPENGL to Release
  2. Click on Configuer, the installation process will go through there and it will stop. Some fields will be red and need to be changed manually.
Установите 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

then clicks on Config again and after the end on Generate. And that's it, close CMake.
7. Open the command line and go to the folder C:\OpenCV\opencv_bin (This is in my case) and on the command line we type

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

Dear friends, you can also install OpenCV on Qt under MacOS .... but you need to use the sudo make command there
8. Then add PATH

Go to the properties of MY COMPUTER

All. We have installed everything)) Now you need to open the project in Qt and add the following links to the project

Sample code below

# ------------------------------------------------- 
# 
# Проект, созданный 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 ; 
}

Source Qt wiki

But not everything is there ... I passed these paths

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

W
  • July 25, 2018, 2:40 p.m.

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

Evgenii Legotckoi
  • July 26, 2018, 6:32 a.m.

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

T
  • Feb. 20, 2019, 2:39 p.m.

Спасибо за статью!
У меня возникли проблемы с CMake'ом он постоянно выдавал ошибки, нашел ролик на ютубе где пошагово показано как устанавливать эту либу. Ссылку прилагаю, надеюсь это разрешено..
(https://www.youtube.com/watch?v=7zYJFjqPklI)

Evgenii Legotckoi
  • Feb. 20, 2019, 3:20 p.m.

Не приветствуется спам, подозрительные ссылки, сомнительные предложения и некультурное поведение ))))

В остальном всё модерируется, конечно, но без тирании.

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

v
  • Nov. 19, 2019, 10:19 a.m.
  • (edited)

Ребята а что если папки "Source" в архиве opencv нет? Скачал три варианта библиотеки ни в одном нет этой папки.

v
  • Nov. 19, 2019, 11:26 a.m.
  • (edited)

Разобрался!!! Надо было не архив качать а exe файл и его уже распаковывать в нужную папку)))

IscanderChe
  • May 31, 2020, 9:15 a.m.

Добавлю от себя: на Windows 10 x64 с MinGW 7.3.0 в CMake надо установить флаг OPENCV_ENABLE_ALLOCATOR_STATS=OFF, тогда всё скомпилится нормально.

РР
  • Feb. 16, 2021, 10:03 a.m.

А если на этапе консоли выдаёт ошибки?

Эту если с припиской -j 8

Эту - если простая установка

Можете подсказать, пожалуйста, что делать?

Comments

Only authorized users can post comments.
Please, Log in or Sign up
AD

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:50points,
  • Rating points-4
m

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:80points,
  • Rating points4
m

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:20points,
  • Rating points-10
Last comments
Evgenii Legotckoi
Evgenii LegotckoiNov. 1, 2024, 12:37 a.m.
Django - Lesson 064. How to write a Python Markdown extension Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZEOct. 19, 2024, 6:19 p.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь МаксимовOct. 5, 2024, 5:51 p.m.
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas5July 5, 2024, 9:02 p.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssrFeb. 9, 2024, 5:43 a.m.
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Now discuss on the forum
Evgenii Legotckoi
Evgenii LegotckoiJune 25, 2024, 1:11 a.m.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey1Nov. 15, 2024, 5:04 p.m.
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProjectJune 4, 2022, 1:49 p.m.
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9AnonimOct. 25, 2024, 7:10 p.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

Follow us in social networks