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

目录


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, 解决方法也是相同的。

 

 在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行,将其中的路径改为我们刚刚找到的绝对路径,如图

重要: 修改后,我们重新进行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

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年11月8日
下一篇 2023年11月8日

相关推荐