💪 专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《暗光增强》
📝《模型优化》
📝《模型实战部署》
上一篇博文中我详细讲解了手动编译OpenCV库后(Windows上VSCode中配置MinGW、C++和手动自编译安装OpenCV),配置到VSCode的过程,其中的构建编译过程问题众多,不想麻烦的学者,可以直接使用其他大佬已经编译好的OpenCV库,使用方法,详看下面教程。
目录
一、下载第三方OpenCV库
下载第三方OpenCV库的地址为:OpenCV_third
打开链接后向下滑动,找到自己要下载的版本,见下:
下载解压后的样子见下:
其他人已经编译好的OpenCV动态链接库位置见下:
二、添加环境变量
将第三方OpenCV库添加到系统环境变量中,见下:
三、VSCode中配置OpenCV库
3.1 测试代码
新建一个文件夹,创建一个.cpp脚本,脚本中使用下面测试代码:
#include<iostream>#include<opencv2/opencv.hpp>usingnamespace std;usingnamespace cv;intmain(){// 指定图片路径
string path ="panda.png";
cv::Mat img =imread(path);// 读取图像// 显示图像imshow("Display Image", img);// imshow("Display Image", test);// 等待按键按下,关闭窗口waitKey(0);return0;}
3.2 c_cpp_properties.json文件配置
先点击.cpp脚本,用快捷键Ctrl+shift+P打开搜索栏输入:C/C++ Edit Configurations(UI)
打开后选择编译器路径和导入头文件路径:
上图中的MinGW,如果有学者不知道是什么,也不知道怎么安装,见我上一篇博文第一章节(MinGW)。
其它参数可以保持默认,根据自己情况修改。
这些配置好的参数在c_cpp_properties.json文件中查看,见下:
3.3 tasks.json文件配置
创建一个tasks.json文件来告诉VS Code如何构建(编译)程序。该任务将调用g++编译器基于源代码创建可执行文件。先选中脚本.cpp文件, 按快捷键Ctrl+Shift+P调出命令面板,输入tasks,选择“Tasks:Configure Default Build Task”:
选择“C/C++: g++.exe build active file”:
打开tasks.json文件后,需要自己手动修改的地方见下:
完整的tasks.json文件内容见下:
{"version":"2.0.0","tasks":[{"type":"cppbuild","label":"C/C++: g++.exe","command":"F:/APP/MinGW/mingw64/bin/g++.exe","args":["-fdiagnostics-color=always","-g","${file}","-I","F:/APP/OpenCV_4.5.2_other/OpenCV-MinGW-Build-OpenCV-4.5.2-x64/include",// 包含路径 头文件 编译的时候到这个路径下找头文件 编译审生成可重定位文件"-L","F:/APP/OpenCV_4.5.2_other/OpenCV-MinGW-Build-OpenCV-4.5.2-x64/x64/mingw/bin",// 库路径 动态链接库地址,可执行文件运行起来需要这些库提供的机器码// "-l","libopencv_world4100", // 链接需要使用这些dll作为可重定位文件"-l","libopencv_calib3d452","-l","libopencv_photo452","-l","libopencv_core452","-l","libopencv_stitching452","-l","libopencv_dnn452","-l","libopencv_video452","-l","libopencv_features2d452","-l","libopencv_videoio452","-l","libopencv_flann452","-l","libopencv_gapi452","-l","libopencv_highgui452","-l","libopencv_imgcodecs452","-l","libopencv_imgproc452","-l","libopencv_ml452","-l","opencv_videoio_ffmpeg452_64","-l","libopencv_objdetect452","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"// fileDirname就是test.cpp所在文件夹的绝对路径],"options":{"cwd":"F:/APP/MinGW/mingw64/bin"},"problemMatcher":["$gcc"],"group":{"kind":"build","isDefault":true},"detail":"编译器: F:/APP/MinGW/mingw64/bin/g++.exe"}]}
3.4 launch.json文件配置
在.vscode文件夹中产生一个launch.json文件,用来配置调试的相关信息。点击菜单栏的Debug–>Start Debugging:
选择C++(GDB/LLDB)
创建好launch.json文件后,自动生成的内容只有两行,其它内容需要自己填补,我这里提供内容,学者在我提供内容基础上需要修改的地方见下:
launch.json文件内容见下:
{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","configurations":[{"name":"(gdb) Launch",// "preLaunchTask": "g++.exe build active file",//调试前执行的任务,就是之前配置的tasks.json中的label字段"preLaunchTask":"C/C++: g++.exe","type":"cppdbg",//配置类型,只能为cppdbg// "label": "C/C++: g++.exe build active file","request":"launch",//请求配置类型,可以为launch(启动)或attach(附加)"program":"${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称"args":[],//调试传递参数// "args": ["/F","${fileDirname}\\${fileBasenameNoExtension}.exe","&","pause"],//调试传递参数// "stopAtEntry": false,// "stopAtEntry": true,"stopAtEntry":false,// "cwd": "${workspaceFolder}","cwd":"${fileDirname}","environment":[],// "externalConsole": true,//true显示外置的控制台窗口,false显示内置终端"externalConsole":false,//true显示外置的控制台窗口,false显示内置终端"MIMode":"gdb","miDebuggerPath":"F:/APP/MinGW/mingw64/bin/gdb.exe","setupCommands":[{"description":"Enable pretty-printing for gdb","text":"-enable-pretty-printing","ignoreFailures":true}],// "preLaunchTask": "g++.exe build active file",// "internalConsoleOptions": "neverOpen"// "preLaunchTask": "build", // Ensure build task runs before launch"internalConsoleOptions":"neverOpen"}]}
四、测试OpenCV库是否配置成功
上面配置都弄好后,运行3.1中的测试脚本,随便读入一张图像,如果能正常显示图像,说明VSCode中配置第三方OpenCV库成功。
五、总结
以上就是VSCode中配置并快速使用第三方OpenCV库的详细教程,想自己动手编译OpenCV库的学者,看我的上一篇博文。
感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖
关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!
版权归原作者 视觉研坊 所有, 如有侵权,请联系我们删除。