目录:

  • 前言
  • 一.安装依赖
  • 二.获取opencv源码
  • 三.编译opencv
  • 四.配置vs code
  • 五.使用cmake编译程序

前言

由于一些意外,连续在ubuntu20.04下装了好几次opencv,在此记录一下。

一.安装依赖

1.首先的必要项是cmake和g++,一般这两个用c++的都会有。

sudo apt update && sudo apt install -y cmake g++ wget unzip

2.然后下面这些依赖可能会有些是ubuntu更新就安装好了可以使用:sudo apt show +软件名查看。

关于libtiff5-dev可以先查看一下,如果以及存在了就去掉不再安装了,重复安装可能会导致后面编译报错。

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev libcanberra-gtk-module
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config

二.获取opencv源码

创建一个目录用于存放两个源码,下面给出opencv和opencv_contrib源码地址:
(1)opecv
(2)opencv_contrib
获取源码的途径有很多:
(1)在github地址上下载压缩包解压
(2)使用wget命令(也需要解压):


wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip

(3)使用git:

git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

然后笔者在这里前两种都下载的有问题,使用报告git才成功。如果读者只需要安装opencv的话那就只需要下载opencv就ok。

三.编译opencv

进入源码解压后的同级目录,创建一个目录存放编译文件:

mkdir -p build && cd build

cmake配置:

cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules ../opencv-4.x

path后面对应的就是opencv和openc_contrib的路径,有可能目录名不一定一样,一定要改成自己对应的路径。如果只要安装opencv那就去掉opencv_contrib对应的路径即可。

构建编译:

cmake --build .
sudo make -j4

-j命令代表使用多和线程,也可以普通的sudo make,但是速度慢一点。
最后安装:

sudo make install

随后就能在usr/local/的一些相应目录下看到opencv的头文件等。

四.配置vs code

只要在vs code 里面配置好opencv就能使用vs code 写代码了。
打开vs code按ctrl + shift + P打开vs code 控制台,输入C/C++: Edit configurations选择UI。修改如下即可:

五.使用cmake编译程序

建立一个imread.cpp,代码如下:

#include<iostream>
#include<opencv2/opencv.hpp>int main(int argc,char *argv[])
{if(argc<2){std::cout<<"cmd input error"<<std::endl;return 0;}cv::Mat img=cv::imread(argv[1]);cv::imshow("img",img);cv::waitKey(0);return 0;}

同级目录下CMakeLists.txt文件如下

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable(imread imread.cpp )
target_link_libraries(imread ${OpenCV_LIBS} )

新建一个build目录:

mkdir build && cd build

编译:

cmake..
make

运行:

./imread 1.jpg

第二个参数需要改成自己图片的路径,然后就能看见有窗口显示图片了。

ubuntu安装opencv4.X+opencv_contrib教程(c++)相关推荐

  1. System之Ubuntu:VMware虚拟机 Ubuntu安装详细过程(图文教程,最强攻略,步骤详细,建议收藏)

    System之Ubuntu:VMware虚拟机 Ubuntu安装详细过程(图文教程,最强攻略,步骤详细,建议收藏) 导读         不是每一个程序员都必须玩过linux,只是博主觉得现在的很多服 ...

  2. linux安装openssh服务器的命令,ubuntu 安装openssh服务器的教程详解

    1.安装openssh 首先得安装 openssl 和zlib 安装openssl ---下载openssl-1.0.1j.tar.gz,解压到/usr/openssl/目录下进入解压目录 执行./c ...

  3. 极智开发 | ubuntu 安装寒武纪MLU-270 SDK教程

      本教程详细记录了在 ubuntu 系统上安装寒武纪 SDK 的方法.   我这里示例的是 ubuntu1604,ubuntu1804的安装方法一致(只是包不同). 文章目录 1.sdk 概览 2. ...

  4. Ubuntu安装Hadoop3.1.3教程

    环境 本教程使用Ubuntu16.04 64位作为系统环境 前期准备 进入终端,输入命令创建新用户为Hadoop sudo useradd -m hadoop -s /bin/bash 使用命令设置密 ...

  5. Ubuntu 安装 OpenCV4 详细步骤

    1. 安装依赖库 1.1 必须安装库 sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev ...

  6. 在ubuntu安装最新版QQ教程

    原文地址:http://blog.csdn.net/qq_36428171/article/details/78244730 使用的方式是通过wine这一强大的工具,wine是什么就自行百度啦,我也是 ...

  7. openfoam linux教程,ubuntu安装OpenFOAM官网教程

    本人对ubuntu操作不熟悉,也是刚接触,但是按照官网上的安装,没问题的!分享给大家!!!希望有帮助! Ubuntu Versions OpenFOAM and Paraview are curren ...

  8. linux卸载crossover,CrossOver Linux版如何在Ubuntu中安装?Ubuntu安装CrossOver Linux版教程...

    CrossOver这款系统兼容软件不仅有着Mac版本,还有Linux版本可供大家选择,也可以让Linux用户在其电脑上运行Windows应用,那么CrossOver Linux是如何安装的呢?今天小编 ...

  9. Ubuntu安装和配置ssh教程

    一般Ubuntu都会默认安装openssh-client,但是没有安装openssh-server. 安装ssh服务器 sudo apt install openssh-server 安装ssh客户端 ...

  10. Ubuntu安装,配置全教程

    1,安装 开机logo界面狂按 F2,在exit界面选择第三个U盘,然后开机 Windows10安装ubuntu18.04双系统教程 - 不妨不妨,来日方长 - 博客园 Ubuntu18.04/20. ...

最新文章

  1. tensorflow 转 numpy 转 tensorflow
  2. Keras实现seq2seq案例代码:Bi-LSTM
  3. 薪资超大厂,校招天花板!Google大神云集,美团等参投,无人驾驶TOP独角兽!轻舟智航100+offer等你来!...
  4. 部署LVS-DR(LVS+Keepalived)群集
  5. 【BIM入门实战】Revit2018项目模板、族库图文安装教程
  6. 好强大的仿生机械,这才是真正的黑科技!
  7. documentbodyscrollTop的值总为零的解决办法
  8. c语言链表错误,C语言创建链表错误之通过指针参数申请动态内存实例分析
  9. 关于微软企业库中依赖注入容器Unity两种生成对象的实现
  10. description----NSData To NSString
  11. quartus仿真30:D触发器构成的可重复序列111探测器
  12. k-近邻算法 ---sklearn
  13. php中如何写js代码提示_PHP 实现类似js中alert() 提示框
  14. 手把手教你读财报----银行业----第三课
  15. linux系统pcre是什么作用,Linux下PCRE的安装与卸载
  16. 初创期企业运营必备手册-工具包-绩效考核方法工具包
  17. 修行漫谈——说说中年危机
  18. 电商巨头角逐付费会员制,新零售生态或成为决胜关键?
  19. Excel打印时完整显示合并的单元格区域
  20. python中的逻辑判断与循环

热门文章

  1. python判定串口已连接_python的串口连接
  2. 小米电视4s android,小米电视系列ROOT教程(含4A,4S,4X等Android6.0.1版机型)
  3. HP-Socket精简示例
  4. 【python】画图保存为emf
  5. java语言编程之FileWriter
  6. KYLO的数据库知识总结
  7. 双光子成像和近红外二区荧光共聚焦成像/树状大分子CT/MRI双模态成像造影剂/锰螯合物磁共振成像(MRI)
  8. 图像检索评价指标:PR曲线的计算与绘制
  9. [规划酱@国土空间] ArcGIS工具| 三调转换之新用地用海分类
  10. 微信小程序开发者工具简介