Rumah > alat pembangunan > VSCode > teks badan

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

青灯夜游
Lepaskan: 2021-11-24 19:12:03
ke hadapan
5056 orang telah melayarinya

Bagaimana untuk membina dan mengkonfigurasi persekitaran opencv dalam VSCode? Artikel berikut akan memperkenalkan kepada anda cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode Saya harap ia akan membantu rakan-rakan yang memerlukan.

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

Beberapa masa dahulu saya ingin belajar opencv Memandangkan saya sentiasa terbiasa menggunakan vscode untuk menulis kod, saya memutuskan untuk menggunakan vscode untuk membina persekitaran opencv. Saya membaca banyak artikel untuk menetapkan persekitaran, dan kemudian memilih kaedah dalam satu artikel itu memang terperinci, tetapi saya merasakan bahawa masih terdapat beberapa butiran yang tidak dijelaskan dengan jelas saya kemudiannya bergantung pada satu langkah dari artikel lain berjaya membina persekitaran. Oleh itu, saya memutuskan untuk bercakap tentang langkah-langkah untuk membina persekitaran opencv berdasarkan artikel ini dan pengalaman saya sendiri.

[Pembelajaran yang disyorkan: "tutorial pengenalan vskod"]

Muat turun sumber

Alamat muat turun pakej luar talian MinGW-w64: https://sourceforge. net/projects/mingw-w64/files/.
Muat turun pakej dalam talian akan menjadi sangat perlahan, jadi anda boleh memuat turun pakej luar talian secara terus.

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

CMake alamat muat turun: https://cmake.org/download/

CMake perlu memilih fail binari, iaitu, Lajur pengedaran binari. Pilih fail yang sepadan dengan komputer anda untuk dimuat turun

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode
pustaka opencv: https://sourceforge.net/projects/opencvlibrary/.

Pemasangan perisian dan pembolehubah persekitaran konfigurasi

Pasang?

MinGW-w64 dan CMake tidak perlu dipasang Anda hanya perlu menyahzipnya ke laluan storan pilihan anda (serupa dengan laluan pemasangan)

Konfigurasikan pembolehubah persekitaran

Cari gambar di bawah lokasi folder MinGW-w64:

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

Tambah laluan ke pembolehubah persekitaran, seperti yang saya konfigurasikan: F:MINGW64mingw64bin.

Cara menambah pembolehubah persekitaran: Klik kanan Komputer Saya->Tetapan Sistem Terperinci->Pembolehubah Persekitaran-> OK

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

Cari lokasi folder CMake seperti yang ditunjukkan di bawah:

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode
Tambahkan laluan kepada pembolehubah persekitaran, seperti konfigurasi saya: F:CMAKEbin .

Cari lokasi folder opencv dalam gambar di bawah:

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

Tambah laluan kepada pembolehubah persekitaran, seperti: F:opencv4.5.1opencvbuildx64mingwbin .

Laluan pembolehubah persekitaran semasa yang sepatutnya tersedia

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

Periksa sama ada pembolehubah persekitaran berjaya ditambahkan:

menang kunci R dan masukkan cmd ke dalam terminal:

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode
Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

Arahan dalam terminal adalah sedikit berbeza. tidak tahu sama ada ia -v atau –version

Jana MakeFiles

Sebelum mengendalikan cmake-gui, jika anda belum memanjat dinding, tambahkan dahulu pada hujung fail C:WindowsSystem32drivetchosts :

151.101.72.133 raw.githubusercontent. com

Kerana cmake-gui akan memuat turun beberapa fail, yang semuanya ada di raw.githubusercontent.com Jika anda tidak mengubah suai hos, banyak fail berkemungkinan gagal memuat turun.

Kaedah pengubahsuaian: Buka fail hos dalam Notepad untuk diedit, atau seret terus ke vsocde untuk membuka dan mengubah suainya. Jika anda telah mengubah suai tetapi tidak dapat menyimpan masalah ini, anda boleh membuat salinan terlebih dahulu, memadam fail asal dan menyalin semula fail yang diubah suai ke lokasi asalnya.

Buka cmake-gui dan pilih laluan fail sumber dan laluan menyimpan MakeFiles (laluan pilihan), seperti yang ditunjukkan dalam rajah:

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

Klik Konfigurasi, konfigurasi tetingkap pop timbul adalah seperti berikut:

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

Sila ambil perhatian bahawa MinGW dipilih dalam kotak lungsur, jangan keliru. Kemudian klik Seterusnya, pilih alat penyusunan dalam fail MinGW seperti berikut, dan akhirnya klik Selesai.

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam 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,这次执行完后仍有错误如下:

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

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

https://raw.githubusercontent.com/opencv/opencv_3rdparty/759a23e24ab787a0979f8a93103dcc3105ec10c1/ffmpeg/opencv_ffmpeg.dll
Salin selepas log masuk

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

编译opencv

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

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

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

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

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

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

Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode

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

minGW32-make install
Salin selepas log masuk

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"
        }
    ]
}
Salin selepas log masuk

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
}
Salin selepas log masuk

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
            }
        }
    ]
}
Salin selepas log masuk

注意:如果是复制我的文件配置的话记得把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;
}
Salin selepas log masuk

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

Atas ialah kandungan terperinci Perbincangan ringkas tentang cara membina dan mengkonfigurasi persekitaran opencv dalam VSCode. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan