【VSCode】【OpenCv】Windows平台下VSCode + OpenCv + minGw环境搭建

阅读: 评论:0

【VSCode】【OpenCv】Windows平台下VSCode + OpenCv + minGw环境搭建

【VSCode】【OpenCv】Windows平台下VSCode + OpenCv + minGw环境搭建

参考链接:VScode搭建Opencv(C++开发环境)

1. 软件准备

  • MinGw:x86_64-posix-seh

  • CMake:cmake-3.20.2-windows-x86_64.zip

  • OpenCv:opencv-4.5.

2. 配置环境变量

将上述下载的MinGw、CMake、OpenCv解压到指定文件夹内,本机测试都放在D:IDE文件夹内,文件路径如下:


MinGwD:IDEMinGw


CMakeD:IDEcmake


OpenCvD:IDEopencv452opencv


在系统环境变量path中添加MinGw、CMake:

  • MinGw:D:IDEMinGwbin
  • CMake:D:IDEcmakebin

    检查MinGw、CMake环境是否OK。
    打开cmd命令窗口,输入gcc -v判断MinGw环境,输入cmake -version判断CMake环境。显示如下表示环境配置成功。

3. 使用CMake编译Opencv

  1. CMake/bin文件夹下找到<,双击打开。
  2. 设置第一个路径(Where is the source code)是opencv的源码路径,第二个路径(Where to build the binaries)是生成的文件的路径(手动创建ming文件夹)。
  3. 点击Configure,然后选择使用MinGw MakeFiles作为编译器,并选择Specify native compliers,点击next继续,



4. CompliersC选择mingw/bin文件夹下的<,C++选择mingw/bin文件夹下的g++.exe,然后点击finish继续。

5. 等完成后可能会有红色的框表示失败了,这时候看一下<文件,应该是有几个文件没有下载下来,可以手动下载,然后把它们放到指定文件夹内并重命名。大概就是这几个文件需要手动下载:opencv_videoio_ffmpeg.dllopencv_videoio_ffmpeg_64.dllade-0.1.1f.zipake

下载失败解决方案可参考:CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结。
国内访问受限,GitHub Proxy可以下载需要的文件。

  1. 下载完成后再重新点击Configure,等待完成即可。如果完成后仍然还有红色框出现,不要着急,再重新点击Configure即可。
  2. 执行完后,把python相关的都取消勾选,
    WITH_IPPWITH_MSMFENABLE_PRECOMPILED_HEADERS取消勾选;
    BUILD_opencv_worldWITH_OPENGLBUILD_EXAMPLES选择勾选,
    CPU_DISPATCH选空。
  3. 上述操作完成后点击Generate,直到操作完成。

4. make

重新打开cmd窗口,进入刚刚生成的mingw文件夹,执行命令:minGW32-make -j 4
没有出错,继续执行命令:minGW32-make install
然后添加环境变量:

5. VSCode配置并测试

  1. 新建一个文件夹,命名为Hello-opencv
  2. 使用VSCode打开该文件夹;
  3. 在该文件夹下新建一个文件,命名为test.cpp;
  4. 编写如下代码,记得该文件夹下放一个图片;
#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;int main()
{std::string filename = "1.jpg";cv::Mat srcimg = cv::imread(filename.data());if (!pty()){cv::namedWindow("test", cv::WINDOW_NORMAL);cv::imshow("test", srcimg);cv::waitKey(0);}else{printf("load image fail!n");getc(stdin);}return 0;
}
  1. 点击调试 C/C++文件,选择带g++.exe,会出现提示***存在错误,点击中止即可;


  2. Hello-opencv文件夹下会手动创建.vscode文件夹,.vscode文件夹下手动创建三个文件:c_cpp_properties.jsonlaunch.jsontasks.json,然后按照如下编辑这些json文件。这些字段的具体含义可参考:VSCode Variables Reference。

这三个文件也可以自动生成,这里只展示手动创建的过程。
路径要根据自己电脑设置的路径填写。

c_cpp_properties.json

{"configurations": [{"name": "win","includePath": ["${workspaceFolder}/**","D:\IDE\opencv452\opencv\build\x64\mingw\install\include","D:\IDE\opencv452\opencv\build\x64\mingw\install\include\opencv2"],"defines": [],"compilerPath": "D:\IDE\MinGw\bin\g++.exe","cStandard": "c11","cppStandard": "c++17","intelliSenseMode": "${default}"}],"version": 4
}

tasks.json


{"version": "2.0.0","tasks": [{"type": "shell","label": "opencv4.5.2","command": "D:\IDE\MinGw\bin\g++.exe","args": ["-g","${file}","-o","${workspaceFolder}\RBin\${fileBasenameNoExtension}.exe",// RBin是自定义的文件夹名,会把生成的EXE放在该文件夹下,要手动创建RBin文件夹// 下面的opencv路径根据自己的路径修改"D:\IDE\opencv452\opencv\build\x64\mingw\bin\libopencv_world452.dll","-I","D:\IDE\opencv452\opencv\build\x64\mingw\install\include","-I","D:\IDE\opencv452\opencv\build\x64\mingw\install\include\opencv2",],"options": {"cwd": "D:\IDE\MinGw\bin"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true}}]
}

launch.json

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: /?linkid=830387"version": "0.2.0","configurations": [{"name": "opencv debuge","type": "cppdbg","request": "launch","program": "${workspaceFolder}\RBin\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false, // true表示运行到main()函数的第一行,可以调试;false表示直接运行,不会再main()函数的第一行停止,除非设置了断点"cwd": "${workspaceFolder}","environment": [],"externalConsole": true,//是否调用外部cmd"MIMode": "gdb","miDebuggerPath": "D:\IDE\MinGw\bin\",//自己进行设置"setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": false}],"preLaunchTask": "opencv4.5.2","console": "integratedTerminal","justMyCode": true}],}
  1. 转到test.cpp编辑界面,然后按F5,如果当前路径下(Hello-open)没有图片,则会提示load image fail!;如果路径下有图片,会显示图片。
    这两种情况都表示配置已经完成,以后如果在其它文件夹下开发,可以直接把.vscode文件夹拷过去。

6. 注意事项

如下是本机测试时出现的问题。

  1. cmake添加了环境变量但是cmd窗口中输入命令提示不是内部或外部命令
    添加环境变量后需要重新打开cmd;
  2. 一定要记得CMake编译时,Configure完成后一定要generate!!!
  3. 选择config的编译器时一定要选对。这个我第一次配置的时候选错了,后面执行 minGW32-make -j 4命令时总是提示Makefile:32: *** missing separator. Stop.,找了好多解决方案都不行,最后重新来一遍才发现。
  4. python等要取消勾选
  5. 如果第二次configure还是有红色的,不要慌,再点击configure,直到没有红色出现。
  6. 第一次configure出现红色的,查看<,下载几个需要的文件;然后把它们放入到对应的路径下。
  7. 运行时要手动创建RBin文件夹。
  8. 以.vscode所在目录(测试的Hello-opencv)为当前工作路径。
  9. 环境变量中的opencv路径一定要写对
  10. 调用其它文件的函数时,要把头文件和源文件都包含进去。这个是后面写其它代码的时候一个文件要调用另一个文件内的函数,需要把那个函数声明和定义的文件都包含在内。
    如下:
    b.h
void b_b();

b.cpp

void b_b()
{// 函数实现
}

a.cpp

// a.cpp中要包含函数b_b()的声明和定义的文件
#include "b.h"
#include "b.cpp"int main()
{b_b();  // 在b.h中声明的函数return 0;
}

本文发布于:2024-01-28 13:41:54,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064205197812.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:环境   平台   OpenCv   VSCode   minGw
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23