Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

青灯夜游
青灯夜游nach vorne
2021-11-24 19:11:235065Durchsuche

Wie erstelle und konfiguriere ich die OpenCV-Umgebung in

VSCode? Im folgenden Artikel erfahren Sie, wie Sie die OpenCV-Umgebung in VSCode erstellen und konfigurieren. Ich hoffe, er wird für Freunde in Not hilfreich sein!

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

Vor einiger Zeit wollte ich opencv lernen. Da ich es immer gewohnt war, vscode zum Schreiben von Code zu verwenden, habe ich mich entschieden, vscode zum Erstellen einer opencv-Umgebung zu verwenden. Ich habe viele Artikel zum Einrichten der Umgebung gelesen und dann die Methode in einem Artikel ausgewählt. Der Artikel war zwar ausführlich, aber ich hatte das Gefühl, dass es immer noch einige Details gab, die nicht klar erklärt wurden, und verließ mich später auf einen Schritt Erstellen Sie die Umgebung erfolgreich. Daher habe ich beschlossen, auf der Grundlage dieses Artikels und meiner eigenen Erfahrung über die Schritte zum Aufbau der OpenCV-Umgebung zu sprechen.

【Empfohlenes Lernen: „Vscode-Einführungs-Tutorial“】

Ressourcen-Download

MinGW-w64 Offline-Paket-Download-Adresse: https://sourceforge.net/projects/mingw-w64/files/.
Online-Paket-Download-Meeting Es ist sehr langsam, sodass Sie Offline-Pakete direkt herunterladen können.

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

CMake-Download-Adresse: https://cmake.org/download/

CMake muss die Binärdatei auswählen, d. h. die Spalte „Binärverteilungen“. Wählen Sie die Datei aus, die Ihrem Computer zum Herunterladen entspricht

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode
OpenCV-Bibliothek: https://sourceforge.net/projects/opencvlibrary/.

Softwareinstallation und Konfigurationsumgebungsvariablen

Installation?

MinGW-w64 und CMake müssen nicht installiert werden. Sie müssen es nur in den Pfad Ihrer Wahl entpacken (ähnlich dem Installationspfad).

Umgebungsvariablen konfigurieren

Suchen Sie den Speicherort des MinGW-w64-Ordners im Bild unten:

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

Fügen Sie den Pfad zur Umgebungsvariablen hinzu, wie ich konfiguriert habe: F:MINGW64mingw64bin.

So fügen Sie Umgebungsvariablen hinzu: Klicken Sie mit der rechten Maustaste auf „Arbeitsplatz“ -> „Erweiterte Systemeinstellungen“ – > Wählen Sie sowohl Benutzervariablen als auch Systemvariablen aus – >

Suchen Sie den Speicherort des CMake-Ordners im Bild unten:

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

Fügen Sie den Pfad zur Umgebungsvariablen hinzu, z. B. meine Konfiguration: F:CMAKEbin.

Suchen Sie den Speicherort des opencv-Ordners im Bild unten: Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

Fügen Sie den Pfad zur Umgebungsvariablen hinzu, z. B.: F:opencv4.5.1opencvbuildx64mingwbin.

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCodeDer aktuelle Umgebungsvariablenpfad, der verfügbar sein sollte

Überprüfen Sie, ob die Umgebungsvariable erfolgreich hinzugefügt wurde:

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCodeWin+R-Tasten und geben Sie cmd in das Terminal ein:

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCodeDer Befehl im Terminal ist etwas anders, meins ist gcc -v und cmake --version, ich weiß nicht, ob es -v oder –version ist
Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCodeMakeFiles generieren

Bevor Sie cmake-gui ausführen, wenn Sie nicht über die Mauer geklettert sind, Sie müssen zuerst Folgendes anhängen:

am Ende der C:WindowsSystem32driversetchosts-Datei 151.101.72.133 raw.githubusercontent.com

Da cmake-gui einige Dateien herunterlädt, befinden sich diese Dateien alle auf raw.githubusercontent.com Wenn Sie die Hosts ändern, ist es wahrscheinlich, dass viele Dateien nicht heruntergeladen werden können.

Änderungsmethode: Öffnen Sie die Hosts-Datei im Editor zum Bearbeiten oder ziehen Sie sie direkt auf vsocde, um sie zu öffnen und zu ändern. Wenn Sie Änderungen vorgenommen haben, das Problem jedoch nicht speichern können, können Sie zunächst eine Kopie erstellen, die Originaldatei löschen und die geänderte Datei wieder an ihren ursprünglichen Speicherort kopieren.

Öffnen Sie cmake-gui und wählen Sie den Quelldateipfad und den MakeFiles-Speicherpfad (selbst ausgewählter Pfad) aus, wie im Bild gezeigt:

Klicken Sie auf Konfigurieren. Die Konfiguration des Popup-Fensters sieht wie folgt aus:

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

Bitte beachten Sie, dass im Dropdown-Feld MinGW ausgewählt wird. Lassen Sie sich nicht ablenken. Klicken Sie dann auf Weiter, wählen Sie das Kompilierungstool in der MinGW-Datei wie folgt aus und klicken Sie abschließend auf Fertig stellen.

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

执行过程中消息框会出现一堆红色信息,最后显示Configure done,是正常的。如果执行时中断,则存在其他问题。在执行完后,勾选BUILD_opencv_world,WITH_OPENGL和BUILD_EXAMPLES,不勾选WITH_IPP、WITH_MSMF和ENABLE_PRECOMPILED_HEADERS(如果有的话),CPU_DISPATCH选空。如果要编译opencv_contrib,则需要在OPENCV_EXTRA_MODULES_PATH 把路径选择为解压的opencv_contrib文件中的“modules”文件夹。

再次点击Configure,这次执行完后仍有错误如下:

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

也就是说前面虽然修改了hosts,但是有些文件仍然没有成功下载,解决的方法就是手动下载它们。可以用浏览器访问下载链接,或者使用迅雷等下载器进行下载。CMakeDownloadLog.txt文件中列出了所有丢失文件的下载链接,比如:

https://raw.githubusercontent.com/opencv/opencv_3rdparty/759a23e24ab787a0979f8a93103dcc3105ec10c1/ffmpeg/opencv_ffmpeg.dll

一个个访问这些链接,下载后放到OpenCV源文件里.cache的相应子文件夹中替代原缓存文件(下载的文件重命名为相应地缓存文件名并删除原缓存文件)。这样从头到尾下载CMakeDownloadLog.txt中列出的所有丢失文件,之后,再次Configure,理论上不会出现红色的错误消息了。然后点击Generate,正常的话会显示非红色的消息Generate Done。一般翻墙成功的话都可以直接下载成功

编译opencv

CMD到MakeFiles所在文件夹,执行minGW32-make命令,或者使用多线程minGW32-make -j 4命令:

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

如果报错可查阅下面的网址帮助:

https://blog.huihut.com/2018/07/31/CompiledOpenCVWithMinGW64/

一般问题都是可以通过勾选和去勾选解决的,因为之前就Configure过,因此回头再Configure一下花不了太多时间。

如果同时编译opencv_contrib,可能会报如下错误:

Eine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode

编译完成之后,输入minGW32-make install 来完成装载。

minGW32-make install

vscode配置

在VScode中安装C/C++扩展,添加以下三个json文件:

launch.json 需要配置miDebuggerPath项。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "opencv4.5.1 debuge",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "F:/MINGW64/mingw64/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "opencv4.5.1 compile task"
        }
    ]
}

c_cpp_properties.json 需要配置compilerPath项和includePath项。

{
    "configurations": [
        {
            "name": "win",
            "includePath": [
                "${workspaceFolder}/**",
                "F:/opencv4.5.1/opencv/build/x64/mingw/install/include",
                "F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv2",
                "F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv2/myself_all"
            ],
            "defines": [],
            "compilerPath": "F:/MINGW64/mingw64/bin/gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

tasks.json 需要配置command项、args项和options项。

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "opencv4.5.1 compile task",
            "command": "F:/MINGW64/mingw64/bin/g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${workspaceFolder}\\${fileBasenameNoExtension}.exe",
                "F:/opencv4.5.1/opencv/build/x64/mingw/install/x64/mingw/bin/libopencv_world451.dll",
                "-I",
                "F:/opencv4.5.1/opencv/build/x64/mingw/install/include",
                "-I",
                "F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv",
                "-I",
                "F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv2",
            ],
            "options": {
                "cwd": "F:/MINGW64/mingw64/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

注意:如果是复制我的文件配置的话记得把opencv4.5.1改为你的对应版本

验证程序:Ctrl+Shift+B编译即可生成对应exe文件,然后F5运行。

#include<opencv2\opencv.hpp>
#include <iostream>
using namespace cv;
int main(int argc, char** argv) {
    Mat src = imread("image/girl.jpg"); //图片路径为同一文件夹
    namedWindow("window_1",0);
    imshow("window_1", src);
    waitKey(0);
    return 0;
}

更多关于VSCode的相关知识,请访问:vscode教程!!

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion zum Erstellen und Konfigurieren der OpenCV-Umgebung in VSCode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen