(超详细)Ubuntu18.04下安装及卸载opencv+opencv_contrib

为了做最终的项目,被这东西折磨了好几天,现在才真正明白。写下人生的第一篇博客,希望对大家有所帮助。

阐明:

1.本教程适用c++和python环境

2.opencv和opencv_contrib版本如果和我不一样也可以装装看,毕竟方法都大同小异

版本:Ubuntu18.04
Opencv-4.1.2
Opencv_contrib-4.1.2

百度云链接:https://pan.baidu.com/s/14Q7N1p-7QrUBQzGIAPCWBw密码: spgp

(超详细)Ubuntu18.04下安装及卸载opencv+opencv_contrib

装opencv_contrib时会报错需要用到第一个文件,所以如果不需要装opencv_contrib,只载opencv-4.1.2.zip即可,需要则全载。

一、卸载opencv (如果没装那直接跳过这一步)

1、查看已安装的opencv版本

pkg-config --modversion opencv//或pkg-config --modversion opencv4

(超详细)Ubuntu18.04下安装及卸载opencv+opencv_contrib

2、卸载

1.找到当初安装 opencv4.1.2的 build 目录,进入 build 目录

cd ~/opencv-4.1.2/build
sudo make uninstall
cd  ..
sudo rm -rf build

2.清理 /usr 中所有 opencv 相关项

//注意这里为了确保删干净重复写了一些路径,建议大家打开文件夹对照代码所示路径一个个删除
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*

cd /usr
//发现搜不到有关opencv的任何文件,说明删干净了
find . -name "*opencv*" | xargs sudo rm -rf
cd ~
sudo rm -rf opencv-4.1.2

二、安装 opencv-4.1.2 + opencv_contrib-4.1.2

1.下载opencv-4.1.2及opencv_contrib-4.1.2 百度云链接已经放在文章开头了

2.安装依赖项

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

3.使用cmake构建opencv

使用unzip命令将opencv-4.1.2和opencv_contrib-4.1.2解压,opencv-4.1.2放在主目录下,opencv_contrib-4.1.2移到opencv_4.1.2目录下,并在opencv-4.1.2目录下新建build文件夹

unzip opencv-4.1.2.zip
unzip opencv_contrib-4.1.2.zip

//自己把opencv-4.1.2放在主目录下,opencv_contrib-4.1.2移到opencv_4.1.2中

cd ~/opencv-4.1.2
mkdir build

(超详细)Ubuntu18.04下安装及卸载opencv+opencv_contrib

将boostdesc.i等.zip里的文件全部复制到~/opencv-4.1.2/opencv_contrib-4.1.2/modules/xfeatures2d/src下(因为这些文件很难载下来,缺少这一步的话,后续编译就会报错)

(超详细)Ubuntu18.04下安装及卸载opencv+opencv_contrib

执行以下代码(重要部分,请谨慎执行)

cd ~/opencv-4.1.2/build

//前三行别的设不设置都无所谓,OPENCV_GENERATE_PKGCONFIG如果不设置在opencv4中就不会
//自动生成opencv.pc文件导致查询不到opencv版本号,后续要解决只能自己手写文件(但是容易错)
//或者卸载opencv重装,所以这里直接开启就一劳永逸了
cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON .. 
cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=ON ..
cmake -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF ..
//OPENCV_ENABLE_NONFREE:BOOL如果不开启在使用sift/surf等算法时会报错
//因为我是用c++进行编程 所以用INSTALL_C_EXAMPLES=ON,如果想用python则替换为INSTALL_PYTHON_EXAMPLES=ON
//OPENCV_EXTRA_MODULES_PATH后面跟的是opencv_contrib-4.1.2的路径,记得照着自己的电脑路径改一下
//如果不需要装opencv_contrib-4.1.2 那就删掉OPENCV_EXTRA_MODULES_PATH
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_ENABLE_NONFREE:BOOL=ON -D INSTALL_C_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv-4.1.2/opencv_contrib-4.1.2/modules ..

接下来开始编译

//有单线程和多线程两种编译方法 单线程编译比较慢,建议采用多线程
//j后面表示的数字是想要用几线程进行编译,这里我选择了8线程
sudo make -j//单线程
sudo make -j8//多线程

编译后

sudo make install 

4.配置opencv环境

//打开opencv.conf
sudo gedit /etc/ld.so.conf.d/opencv.conf 
//在末尾添加
/usr/local/lib
//保存后执行以下命令,确保配置生效
sudo ldconfig 
//打开bash.bashrc
sudo gedit /etc/bash.bashrc  
//在文末添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  
//保存后执行以下命令,确保配置生效
sudo updatedb 

5.测试

cd ~/opencv-4.1.2/samples/cpp/example_cmake
cmake .
make
./opencv_example

如果摄像头打开,左上角出现 Hello OpenCV 则证明安装成功

如果您仍有疑问,请留言。这是我第一次写博客,如果有任何问题,请多多包涵。

参考教程:

Ubuntu16.04卸载opencv 3.0.0,安装opencv3.4.2 + contrib

在 Ubuntu系统下安装 OpenCV 全过程

linux下编译安装opencv生成opencv.pc

解决 Configuring incomplete, errors occurred! 问题 树莓派安装opencv报错

Ubuntu16下opencv3 +opencv_contrib3最简单安装,并解决SIFT 和 SURF在opencv3以上应用报错

版权声明:本文为博主面向cv编程°原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/weixin_44985971/article/details/123209435

共计人评分,平均

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

(1)
乘风的头像乘风管理团队
上一篇 2022年3月1日 下午10:27
下一篇 2022年3月2日 下午7:29

相关推荐