当前位置: 首页 > news >正文

vscode+linux+opencv环境配置

一、搭建编译环境

在Linux系统下使用C++开发opencv项目,首先要搭建C/C++开发环境。

1、在终端输入以下代码,以安装C/C++编译器(GCC/G++)。

sudo apt install gcc
sudo apt install g++

2、安装cmake编译工具

(在openCV2.2版本之后,需要用cmake来生成Makefile文件,在安装OpenCV之前,要安装cmake以及cmake依赖库)

sudo apt install cmake

三、安装OpenCV

1、在OpenCV官网下载sources。

官网源代码

2、打开安装包所在位置,在终端输入:

unzip opencv-x.x.x.zip

3、解压完成后,在当前目录下会生成opencv-x.x.x文件夹,在终端输入:

(进入该文件夹)

cd opencv-x.x.x

4、在此路径下新建一个编译目录build。

mkdir build

5、进行cmake-make编译

为了避免出现下面错误
使用pkg-config和opencv时报错

Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc’
to the PKG_CONFIG_PATH environment variable
最好使用命令

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_GENERATE_PKGCONFIG=ON ..

OPENCV_GENERATE_PKGCONFIG配置表示直接生成配置信息,不用手动配置环境变量等信息。

或使用下面命令,但需要手动配置环境变量信息。

cmake ..
make -j2

make -j4是指4核同时编译,可以根据自己的核数进行调整,比如-j5,核数越多编译速度就越快。

以上操作如果不成功的话尝试以下命令

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4

6、在终端输入sudo make install进行安装

sudo make install

如果不成功也可以尝试安装opencv的依赖

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

7、验证

pkg-config --cflags --libs opencv4

8、为了在vscode中使用,添加软连接

ln -s /usr/local/include/opencv4/opencv2 /usr/include/opencv2

9、c++运行常见错误

找不到任务C/C++: g++.exe build active file
解决方法:只要将 launch.json文件中的preLaunchTask参数改为和tasks.json中label值一样,这个问题就能解决。
.o not exists:linux将launch.json的"program": “ f i l e D i r n a m e / {fileDirname}/ fileDirname/{fileBasenameNoExtension}.o"改成"program”: “ f i l e D i r n a m e / {fileDirname}/ fileDirname/{fileBasenameNoExtension}”

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用ollama取代openai的api进行graphRAG失败记录
  • 《Milvus Cloud向量数据库指南》—Milvus Cloud赋能Ivy.ai:解锁大数据潜力,加速AI创新
  • 低代码: 系统开发准备之确定一般开发流程,需求分析,复杂度分析,标准开发流程
  • C#初级——字典Dictionary
  • 【深度学习】什么是混合精度训练?缩放因子 S 的选择
  • 探索编程世界:大学新生的最佳入门路径与学习方法
  • 字节序大小端
  • 无人机之导航系统篇
  • 单片机如何使用超声波传感器进行距离测量
  • 电子合同怎么制作?9款常用电子合同软件
  • Python爬虫新手指南及简单实战
  • 【大模型从入门到精通5】openAI API高级内容审核-1
  • 防水分线盒DB系列单通道预铸线缆智能仓储系统
  • Cadence学习笔记 Day0 Cadence17.4环境安装
  • 线程相关个人笔记总结
  • Bootstrap JS插件Alert源码分析
  • C++入门教程(10):for 语句
  • dva中组件的懒加载
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • jdbc就是这么简单
  • php面试题 汇集2
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SegmentFault 2015 Top Rank
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Web Storage相关
  • Webpack 4 学习01(基础配置)
  • windows-nginx-https-本地配置
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 将回调地狱按在地上摩擦的Promise
  • 人脸识别最新开发经验demo
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # Redis 入门到精通(七)-- redis 删除策略
  • #AngularJS#$sce.trustAsResourceUrl
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • #QT(串口助手-界面)
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (pycharm)安装python库函数Matplotlib步骤
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (四) 虚拟摄像头vivi体验
  • (一)Dubbo快速入门、介绍、使用
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)linux下的时间函数使用
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .NET上SQLite的连接
  • .NET业务框架的构建