Ubuntu系统安装opencv的python版本以及编译安装C++版本

这篇具有很好参考价值的文章主要介绍了Ubuntu系统安装opencv的python版本以及编译安装C++版本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.opencv的python 版本安装方式(python版本可以直接安装,无需编译)

(1)方法一:利用pip的方式安装

(2)方法二:利用apt-get方式安装

 2.opencv的C++版本的安装方式(以3.4.12版本为例,其他的也类似)

(1)安装构建工具和所有的依赖软件包:

(2) 新建文件夹名称为opencv_build,不然可能报错,并下载opencv包以及opencv-contrib包

(3)进入opencv文件夹并新建build文件夹(后续编译文件就存放到build文件夹下)

 (4)使用 CMake 命令配置 OpenCV 构建(PATH 设置为自己的目录)

(5) 开始编译

(6)编译成功后,我们利用make install执行安装命令(生成的文件在/usr/local/lib下)

(7) 配置opencv     

3.主要参考文档

(1) Ubuntu20.04安装OpenCV官方教程(C++&&Python接口)

(2)Ubuntu 16.04 + Qt 5.11 +opencv 3.4完美配置(亲测,最简单完美的方法)

(3)ubuntu18.04安装OpenCV3.4.12步骤及安装中遇到的一些问题


1.opencv的python 版本安装方式(python版本可以直接安装,无需编译)

(1)方法一:利用pip的方式安装

   pip install opencv-python

   pip install opencv-contrib-python

(2)方法二:利用apt-get方式安装

sudo apt update
sudo apt install libopencv-dev python3-opencv

        测试安装对不对   

python3 -c "import cv2; print(cv2.__version__)"

 2.opencv的C++版本的安装方式(以3.4.12版本为例,其他的也类似)

(1)安装构建工具和所有的依赖软件包:

    sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
    libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
    libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
    gfortran openexr libatlas-base-dev python3-dev python3-numpy \
    libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \
    libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev

(2) 新建文件夹名称为opencv_build,不然可能报错,并下载opencv包以及opencv-contrib包

mkdir ~/opencv_build && cd ~/opencv_build
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

 上述代码是自动下载最新版本的,若是想安装特定版本的opencv,可以进官网选择下载,保存到opencv_build文件夹下

(3)进入opencv文件夹并新建build文件夹(后续编译文件就存放到build文件夹下)

cd ~/opencv_build/opencv
mkdir -p build && cd build

 (4)使用 CMake 命令配置 OpenCV 构建(PATH 设置为自己的目录)

在执行下面的cmake之前需要解决这个问题,否则后续make -j16的时候会报错

  • 问题1:出现报错fatal error: boostdesc_bgm.i: 没有那个文件或目录的解决方法。编译OpenCV提示opencv_contrib缺少boostdesc_bgm.i等文件 - wenglabs - 博客园
  • 问题2:解决编译opencv时,卡在IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz,解决编译opencv时,卡在IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz_Decem_Y的博客-CSDN博客_ippicv_2020_lnx
cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_C_EXAMPLES=ON \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D OPENCV_GENERATE_PKGCONFIG=ON \
    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
    -D BUILD_EXAMPLES=ON ..

输出将会如下,则成功

-- Configuring done
-- Generating done
-- Build files have been written to: /home/vagrant/opencv_build/opencv/build

(5) 开始编译

make -j16

 根据你的处理器修改-f值。如果你不知道你的处理器核心数,你可以输入nproc找到。

问题1:编译的时候会报错: 提示xfeatures2d.hpp: 没有那个文件或目录,在这一步中还有一些其他文件的报错,如cuda.hpp,nonfree.hpp, 解决方法也是相同的。

 ubuntu安装opencv-python,python,opencv,ubuntu

 在make的时候,默认使用的是相对路径,我们只需要在文件夹中找到相应文件的绝对路径,再将相对路径改成绝对路径就可以了。
比如说在上图的问题,提示/home/dada/opencv-3.4.12/modules/stitching/src/matchers.cpp:52:10出现了error,无法按照"opencv2/xfeatures2d.hpp"这个路径找到这个xfeatures2d.hpp文件。

解决办法:

在文件管理器OpenCV目录下按ctrl+f进行搜索

最终我们找到这个文件的路径为/home/dada/opencv-3.4.12/opencv_contrib-3.4.12/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp

接下来,我们打开报错的位置/home/dada/opencv-3.4.12/modules/stitching/src/matchers.cpp这个文件的第52行,将其中的路径改为我们刚刚找到的绝对路径,如图
ubuntu安装opencv-python,python,opencv,ubuntu

重要: 修改后,我们重新进行make即可,不要进行cmake。

(6)编译成功后,我们利用make install执行安装命令(生成的文件在/usr/local/lib下)

sudo make install

(7) 配置opencv     

编译完成后,需要配置opencv,这样ubuntu系统才能访问到opencv库文件。类似windows系统下配置环境变量。

方法一:

sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

方法二:

   打开文件

sudo gedit /etc/ld.so.conf.d/opencv.conf

空白文档中添加(记得保存)

/usr/local/lib

下来配置库

sudo ldconfig

3.主要参考文档

(1) Ubuntu20.04安装OpenCV官方教程(C++&&Python接口)

Ubuntu20.04安装OpenCV官方教程(C++&&Python接口) - 简书

(2)Ubuntu 16.04 + Qt 5.11 +opencv 3.4完美配置(亲测,最简单完美的方法)

Ubuntu 16.04 + Qt 5.11 +opencv 3.4完美配置(亲测,最简单完美的方法)_老王回归的博客-CSDN博客

(3)ubuntu18.04安装OpenCV3.4.12步骤及安装中遇到的一些问题

ubuntu18.04安装OpenCV3.4.12步骤及安装中遇到的一些问题_散人丶的博客-CSDN博客_opencv_generate_pkgconfig=yes文章来源地址https://www.toymoban.com/news/detail-736097.html

到了这里,关于Ubuntu系统安装opencv的python版本以及编译安装C++版本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu20.04安装c++版本的OpenCV

    https://www.jianshu.com/p/3c2fc0da7398 https://docs.opencv.org/4.5.3/d7/d9f/tutorial_linux_install.html https://www.jianshu.com/p/3c2fc0da7398 https://www.cnblogs.com/yongy1030/p/10293178.html 其实官网步骤已经非常清楚了,只不过是英文的,可能有小伙伴看不下去,所以不妨看看这篇博客。 进入官网,选择你要下载的

    2024年02月12日
    浏览(42)
  • 在arm版ubuntu上编译安装c++版本opencv和闭坑指南

    目录 一、安装 1、安装依赖: 2、编译安装ffmpeg (1)下载源码并解压; (2)指定编译链和路径: (3)编译安装 3、编译安装opencv (1)下载源码并解压 (2)配置 (3)编译并安装 二、坑列表 1、编译opencv报错  c++: internal compiler error: Killed (program cc1plus) 2、解决ffmpeg执行报错

    2024年02月12日
    浏览(36)
  • 【SLAM实战篇】Ubuntu 20.04版本(OpenCV版本4.5.3)对于ORB-SLAM2安装运行,代码编译,自己的数据集构造

    学完SLAM十四讲 心血来潮想跑一下ORB-SLAM2的代码,纯新手小白,自己的踩坑经历进行整理: 本文章主要对ORB-SLAM2进行编译运行。以及自己构建数据集。 源码github地址:https://github.com/raulmur/ORB_SLAM2 终端克隆代码: 查看源代码,其重要的代码库仅为三个文件夹: Example include s

    2024年03月13日
    浏览(54)
  • 【Python】ubuntu python>3.9编译安装,及多个Python版本并存的使用方法

    1. 安装依赖 更新系统软件 在正式开始之前,建议首先检查系统软件是否均为最新,并更新到最新版本。 打开一个终端,输入以下命令: 安装 GCC 编译器 打开一个终端,使用 apt 安装 GCC 编译器: 可能需要的其他依赖: 注意,Python 的部分功能依赖于对应的库(如 OpenSSL、SQ

    2024年02月20日
    浏览(56)
  • Linux系统下python pip/conda安装opencv(opencv-python)编译出错解决方法

    问题描述: 提示编译出错(不同的pip/conda/linux版本报的错误不一致) 错误一:  错误二: 解决方法一: 安装build-essential与cmake后,再然后重新安装opencv-python,安装指令如下(若无需使用opencv-python新版本的特定功能,则不推荐使用,因为新版本需要编译安装,编译时间约20分钟

    2024年02月05日
    浏览(46)
  • Ubuntu 安装编译 opencv

    配置 Ubuntu 镜像源 由于部分镜像源并没有将软件包的版本更新到最新,国外官方镜像源访问与下载速度较慢,所以需要更新镜像源为以下几种: 阿里镜像源 清华大学镜像源 163镜像源 中科大镜像源 系统可以同时包括四种镜像源,确保能够及时搜索到所有的软件的最新版本 环

    2024年02月08日
    浏览(44)
  • 【已解决】Ubuntu 20.04 编译OpenCV 动态链接库指向版本不一致导致出错

    问题:编译OpenCV 4.8.1, 显示出错: /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to `ffi_type_uint32@LIBFFI_BASE_7.0\\\' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to `ffi_type_sint32@LIBFFI_BASE_7.0\\\' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to

    2024年02月04日
    浏览(37)
  • 【Deepsort】C++版本Deepsort编译(依赖opencv,eigen3)

    安装方法参考博客 当谈及线性代数计算库时,Eigen3是一个强大而受欢迎的选择。Eigen3是一个C++模板库,提供了许多用于线性代数运算的功能,如向量、矩阵、矩阵运算、线性方程组求解等。以下是Eigen3的一些主要特点和功能: 高性能:Eigen3使用了优化的算法和技术,具有出

    2024年02月06日
    浏览(38)
  • C++输出编译器名称和版本以及编译器位数、C/C++常见编译器

    常见的C/C++编译器主要包括以下几种: GCC (GNU Compiler Collection):GCC是一个广泛使用的编译器套件,支持多种编程语言,包括C、C++、Objective-C等。它具有强大的优化能力和跨平台支持,并且被广泛应用于各种操作系统和开发环境。 Clang :Clang是基于LLVM的编译器前端,支持C、

    2024年02月13日
    浏览(46)
  • 【opencv】【GPU】windows10下opencv4.8.0-cuda C++版本源码编译教程

    提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 OpenCV是一个开源的计算机视觉库,包含了核心模块和扩展模块,提供了基础的图像处理和计算机视觉算法,以及一些机器学习工具。而OpenCV Contrib是OpenCV社区贡献的一组扩展模块之一,包含了一些较为

    2024年02月08日
    浏览(81)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包