Opencv配置(MinGW版) 用于在VSCode上使用 免编译

正常流程是MinGW+CMake+opencv编译,可以参考以下教程:

OpenCV使用CMake和MinGW-w64的编译安装 | HuiHut 

https://www.cnblogs.com/kensporger/p/12320622.html

https://blog.csdn.net/zhaiax672/article/details/88971248

https://my.oschina.net/u/4313733/blog/4585043

https://blog.csdn.net/qq_37112826/article/details/108871312

https://blog.csdn.net/zhaiax672/article/details/88971248

但是我用cmake编译opencv的过程一直报错。折腾了很久,卸载重装了N次。还因为环境变量冲突卸载了anaconda。

血泪史。

所以放弃了。最后直接下载了编译好的opencv,在VScode上配置成功。

1、官网下载并安装MinGW,CMake。添加环境变量。

2、直接下载编译好的opencv

https://github.com/huihut/OpenCV-MinGW-Build

3、配置环境变量 path:

D:\OpenCV\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\x64\mingw\bin

4、vscode 配置opencv并测试

参考:

https://blog.csdn.net/bankexinan/article/details/112970346

https://blog.csdn.net/zoeou/article/details/80934367

launch.json配置:

{

    // 使用 IntelliSense 了解相关属性。

    // 悬停以查看现有属性的描述。

    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

    "version": "0.2.0",

    "configurations": [

        {

            "name": "g++.exe - 生成和调试活动文件",

            "type": "cppdbg",

            "request": "launch",

            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",

            "args": [],

            "stopAtEntry": false,

            "cwd": "${fileDirname}",

            "environment": [],

            "externalConsole": false,

            "MIMode": "gdb",

            "miDebuggerPath": "D:\\MinGW\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",

            "setupCommands": [

                {

                    "description": "为 gdb 启用整齐打印",

                    "text": "-enable-pretty-printing",

                    "ignoreFailures": true

                }

            ],

            "preLaunchTask": "C/C++: g++.exe 生成活动文件"

        }

    ]

}

c_cpp_properties.json 配置

{

    "configurations": [

        {

            "name": "Win",

            "includePath": [

                "${workspaceFolder}/**",

                "D:\\tianyu-software_install\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include",

                "D:\\tianyu-software_install\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include\\opencv2"

            ],

            "defines": [

                "_DEBUG",

                "UNICODE",

                "_UNICODE"

            ],

            "compilerPath": "D:\\MinGW\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe",

            "cStandard": "gnu17",

            "cppStandard": "gnu++14",

            "intelliSenseMode": "windows-gcc-x64"

        }

    ],

    "version": 4

}

tasks.json配置

{

    "tasks": [

        {

            "type": "cppbuild",

            "label": "C/C++: g++.exe 生成活动文件",

            "command": "D:\\MinGW\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",

            "args": [

                "-g",

                "${file}",

                "-o",

                "${fileDirname}\\${fileBasenameNoExtension}.exe",

                "-I", "D:\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include",

                "-I", "D:\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include\\opencv2",

                "-L", "D:\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\x64\\mingw\\lib",

                "-l", "libopencv_core452",

                "-l", "libopencv_dnn452",

                "-l", "libopencv_flann452",

                "-l", "libopencv_highgui452",

                "-l", "libopencv_imgcodecs452",

                "-l", "libopencv_imgproc452",

                "-l", "libopencv_objdetect452",

                "-l", "libopencv_photo452",

                "-l", "libopencv_video452",

                "-l", "libopencv_videoio452"

            ],

            "options": {

                "cwd": "${fileDirname}"

            },

            "problemMatcher": [

                "$gcc"

            ],

            "group": {

                "kind": "build",

                "isDefault": true

            },

            "detail": "调试器生成的任务。"

        }

    ],

    "version": "2.0.0"

}

test程序

#include<opencv2/opencv.hpp>

#include<opencv2/highgui.hpp>

#include<iostream>

//using namespace std;

using namespace cv;

int main(){

    Mat img = imread("test.jpg");

    imshow("image",img);

    waitKey();

    return 0;

}

运行成功,显示图片。

opencv_contrib-4.5.2暂未配置(也是CMake编译那一步一直失败)

下载:https://github.com/opencv/opencv_contrib/releases/tag/4.5.2

参考 https://www.cnblogs.com/noticeable/p/9594560.html


版权声明:本文为qq_36170982原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。