W
WXQ25. Juli 2018 14:10

So installieren Sie OpenCV auf Qt unter Windows

Einführung
Ich möchte Evgeny meinen Dank für diese wunderbare Seite und die Tatsache aussprechen, dass er Programmieranfängern hilft und nicht nur entwickelt. Ich möchte andere Benutzer bitten, zur Entwicklung dieses Projekts beizutragen) Vielen Dank an alle)
Die folgenden Schritte wurden von mir unternommen, als ich OpenCV für mich selbst installiert habe. Ich möchte betonen, dass es zu diesem Thema keinen VOLLSTÄNDIGEN Artikel im Internet gibt. Seit ich es installiert habe, kamen Fehler heraus und ich musste in Runet nach Antworten suchen, dann von den Amerikanern, dann weiß der Teufel wer.


LAN. Gehen)

Um OpenCV auf Qt unter dem Betriebssystem Windows zu installieren, benötigen wir.

  1. Laden Sie OpenCV von der offiziellen Website herunter. Wir bekommen Dateien aus dem Archiv.

https://opencv.org/

  1. Laden Sie CMake von der offiziellen Website herunter. Wir bekommen Dateien aus dem Archiv.

https://cmake.org/

  1. Qt selbst (im Moment habe ich 5.10.1 v)
  2. Auf Laufwerk C:\ oder Laufwerk D:\ erstellt einen Ordner OpenCV
    3.0 In diesem Ordner (OpenCV) legen wir den Ordner ab, den wir aus dem OpenCV.zip-Archiv erhalten haben.
    3.1 Erstellen Sie im selben Ordner (OpenCV) einen Ordner OpneCV_bin
  3. Führen Sie CMake aus

BEACHTUNG!!!
Achten Sie auf die Verlinkung
C: / OpenCV / opencv / sources (Dies ist in dem Ordner, den wir nach dem Herunterladen entpackt haben, es hat diesen SOURCES-Ordner!)
C:/OpenCV/opencv_bin (Und das ist ein leerer! Ordner, den wir erstellt haben)

  1. WICHTIG !!!
    Deaktivieren Sie in dieser Liste ENABLE_PRECOMPILED_HEADERS, WHIT_IPP, WHIT_CUDA, WHIT_TBB.
    Setzen Sie in dieser Liste das Flag WHIT_QT und ändern Sie WHIT_OPENGL in Release
  2. Klicken Sie auf Konfigurator, der Installationsvorgang wird dort durchlaufen und beendet. Einige Felder sind rot und müssen manuell geändert werden.
Установите 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

klickt dann wieder auf Config und nach dem Ende auf Generate. Und das ist es, schließen Sie CMake.
7. Öffnen Sie die Befehlszeile und gehen Sie zum Ordner C:\OpenCV\opencv_bin (Dies ist in meinem Fall) und geben Sie in der Befehlszeile ein

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

Liebe Freunde, Sie können OpenCV auch auf Qt unter MacOS installieren .... aber Sie müssen dort den Befehl sudo make verwenden
8. Fügen Sie dann PATH hinzu

Gehen Sie zu den Eigenschaften von MEIN COMPUTER

Alles. Wir haben alles installiert)) Jetzt müssen Sie das Projekt in Qt öffnen und die folgenden Links zum Projekt hinzufügen

Beispielcode unten

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

Quelle Qt-Wiki

Aber nicht alles ist da ... Ich bin diese Wege gegangen

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

W
  • 25. Juli 2018 14:40

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

Evgenii Legotckoi
  • 26. Juli 2018 06:32

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

T
  • 20. Februar 2019 14:39

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

Evgenii Legotckoi
  • 20. Februar 2019 15:20

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

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

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

v
  • 19. November 2019 10:19
  • (bearbeitet)

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

v
  • 19. November 2019 11:26
  • (bearbeitet)

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

IscanderChe
  • 31. Mai 2020 09:15

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

РР
  • 16. Februar 2021 10:03

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

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

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

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

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken