当前位置:   article > 正文

Ubuntu18.04安装OpenCV和OpenCV_Contrib

Ubuntu18.04安装OpenCV和OpenCV_Contrib

1. (如果需要)卸载已安装的OpenCV库

删除opencv其他的相关文件

  1. sudo rm -r /usr/local/include/opencv2
  2. sudo rm -r /usr/local/include/opencv
  3. sudo rm -r /usr/include/opencv
  4. sudo rm -r /usr/include/opencv2
  5. sudo rm -r /usr/local/share/opencv
  6. sudo rm -r /usr/local/share/OpenCV
  7. sudo rm -r /usr/share/opencv
  8. sudo rm -r /usr/share/OpenCV
  9. sudo rm -r /usr/local/bin/opencv*
  10. sudo rm -r /usr/local/lib/libopencv*
  11. sudo rm -r usr/bin/opencv*
  12. sudo rm -r /usr/lib/libopencv*

参考提示:

前四行命令中的opencv2,有些有可能自己命名了opencv4,在相关目录下删除掉跟opencv相关的文件夹就可以。

检查是否完全删除:

  1. pkg-config opencv --libs
  2. pkg-config opencv --modversion

2. 下载安装包

2.1. 下载OpenCV

可以从OpenCV官网下载,选择自己需要的版本,官网地址 Releases - OpenCV

我这里安装的是最新的opencv-4.6.0 

也可以从github直接下载,然后切到需要的版本

  1. git clone https://github.com/opencv/opencv
  2. git checkout 4.6.0

2.2. 下载 Opencv Contrib

opencv_contrib下载 在Tags里找到相应版本下载,注意版本要与opencv一致 

我这里下载的是opencv_contrib 4.6.0

2.3. 文件夹组织

下载好解压后,将opencv_contrib放在opencv文件夹里面(为方便后续操作,可将上面两个文件夹分别命名为opencv和opencv_conrib)。
在这里插入图片描述

3. 环境配置

打开终端,依次执行

  1. sudo apt-get install build-essential
  2. sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
  3. sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

4. 安装

  • 在opencv文件夹下新建build文件夹
  1. cd opencv
  2. mkdir build
  • 在build文件夹下cmake
  1. cd build
  2. cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

 注意:

后面“…/opencv_contrib/modules”表示opencv_contrib的modules文件夹所在的路径;

该过程需要下载一些东西,可能耗时较长。

  • 编译
make -j

在这里插入图片描述

  • 安装到系统
sudo make install
  • 添加路径

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

若找不到gedit命令则说明你之前没装,需要自己安装以下,打开一个终端,输入:

sudo apt install gedit

然后在打开文件中添加如下内容:

/usr/local/lib

之后再终端输入以下命令(安装完成某个工程后生成许多动态库,该命令是为了让这些动态链接库为系统所共享)

sudo ldconfig

使其保存并生效。
再在终端输入

sudo gedit /etc/bash.bashrc

打开文件后在末尾输入:

  1. PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  2. export PKG_CONFIG_PATH

保存退出,终端输入:

source /etc/bash.bashrc

至此,opencv及opencv_contrib安装配置完成了!

5. 测试

进入opencv/samples/cpp/example_cmake目录下,终端打开,依次输入:

  1. cd ../samples/cpp/example_cmake
  2. cmake .
  3. make
  4. ./opencv_example

运行结果依次为:
/home/cmx/图片/屏幕截图 2022-06-22 20:59:51.png

在这里插入图片描述

在这里插入图片描述

摄像头打开了,就可以了。

查看版本

  1. pkg-config opencv --modversion # 4.0以下版本
  2. opencv_version # 4.0以上版本

6. 问题记录

6.1. 编译时文件xxx.i缺失

如下图所示

这是因为一些文件没有下载下来,可能包括

boostdesc_bgm.i
boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
vgg_generated_64.i
vgg_generated_80.i
vgg_generated_48.i

解决办法:下载缺失的文件,然后拷贝到xfeatures2d/src下面。 

6.2. 编译时cuda.hpp缺失

解决办法:这类错误要看错误前面的他给出了源码中哪里有问题,找到错误提示处的文件源码,比如这里(上图):…/.opencv/modules/stitching/include/opencv2/stitching/detail/src/matchers.cpp中的52行有错,一般都是给的绝对路径不准确没有找到那个对应的文件。后面给出cuda.hpp的位置,把这个绝对路径直接代替报错处52行给出的不准确路径即可,如下图:

修改后的matchers.cpp类似的,下面这个错误就是找不到…/opencv/modules/stitching/src/precomp.hpp这个路径下的这个文件,把里面91行的

#include “/opencv2/xfeatures2d/cuda.hpp”

修改成

#include “/home/(你的用户名)/opencv/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp”*//(这个就是cuda.hpp这个文件的绝对路径)

描述修改好后保存关闭。

下面这个错误是路径里的features2d.cpp前面少了一个x

描述改好后,再make,有错继续改,直到100%

参考文献

Ubuntu18.04安装opencv和opencv_contrib_ubuntu18.04 下安装opencv4.6.0+opencv contrib4.6.0-CSDN博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/732544
推荐阅读
相关标签
  

闽ICP备14008679号