为了做毕设,我已经被这个东西折磨了很多天了,现在真的悟了。写下人生的第一篇博客,希望能够帮助大家。
说明:
** 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
装opencv_contrib时会报错需要用到第一个文件,所以如果不需要装opencv_contrib,只载opencv-4.1.2.zip即可,需要则全载。
一、卸载opencv (如果没装那直接跳过这一步)
1、查看已安装的 opencv 版本
pkg-config --modversion opencv//或pkg-config --modversion opencv4
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
将boostdesc.i等.zip里的文件全部复制到~/opencv-4.1.2/opencv_contrib-4.1.2/modules/xfeatures2d/src下(因为这些文件很难载下来,缺少这一步的话,后续编译就会报错)
** 执行以下代码(重点部分,认真操作)**
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以上应用报错
版权归原作者 weixin_44985971 所有, 如有侵权,请联系我们删除。