首页 教程 开发工具 VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《暗光增强》
📝《模型优化》
📝《模型实战部署》


VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

上一篇博文中我详细讲解了手动编译OpenCV库后(Windows上VSCode中配置MinGW、C++和手动自编译安装OpenCV),配置到VSCode的过程,其中的构建编译过程问题众多,不想麻烦的学者,可以直接使用其他大佬已经编译好的OpenCV库,使用方法,详看下面教程。

目录

  • 一、下载第三方OpenCV库
  • 二、添加环境变量
  • 三、VSCode中配置OpenCV库
    • 3.1 测试代码
    • 3.2 c_cpp_properties.json文件配置
    • 3.3 tasks.json文件配置
    • 3.4 launch.json文件配置
  • 四、测试OpenCV库是否配置成功
  • 五、总结

一、下载第三方OpenCV库

下载第三方OpenCV库的地址为:OpenCV_third

打开链接后向下滑动,找到自己要下载的版本,见下:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

下载解压后的样子见下:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

其他人已经编译好的OpenCV动态链接库位置见下:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

二、添加环境变量

将第三方OpenCV库添加到系统环境变量中,见下:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

三、VSCode中配置OpenCV库

3.1 测试代码

新建一个文件夹,创建一个.cpp脚本,脚本中使用下面测试代码:

#include<iostream>#include<opencv2/opencv.hpp>usingnamespace std;usingnamespace cv;intmain(){// 指定图片路径 string path ="panda.png?x-oss-process=image/resize,limit_1,w_800/quality,q_60"; 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)

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
打开后选择编译器路径和导入头文件路径:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
上图中的MinGW,如果有学者不知道是什么,也不知道怎么安装,见我上一篇博文第一章节(MinGW)。

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
其它参数可以保持默认,根据自己情况修改。

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

这些配置好的参数在c_cpp_properties.json文件中查看,见下:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

3.3 tasks.json文件配置

创建一个tasks.json文件来告诉VS Code如何构建(编译)程序。该任务将调用g++编译器基于源代码创建可执行文件。先选中脚本.cpp文件, 按快捷键Ctrl+Shift+P调出命令面板,输入tasks,选择“Tasks:Configure Default Build Task”:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
选择“C/C++: g++.exe build active file”:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
打开tasks.json文件后,需要自己手动修改的地方见下:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
完整的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:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
选择C++(GDB/LLDB)

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)

创建好launch.json文件后,自动生成的内容只有两行,其它内容需要自己填补,我这里提供内容,学者在我提供内容基础上需要修改的地方见下:

VSCode中配置并快速使用第三方OpenCV库(详细图文教程)
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库(详细图文教程)

五、总结

以上就是VSCode中配置并快速使用第三方OpenCV库的详细教程,想自己动手编译OpenCV库的学者,看我的上一篇博文。

感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖

关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.18k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.24k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.16k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.09k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  491

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  316

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。