安装OpenCV + OpenCV_Contrib
首先,准备一下开发环境, 一般下面这些正常的系统都有自带的:
Ubuntu 16.04 // 64位
cmake
ant
jdk
git
python
选择一个存放安装文件的目录打开终端, 接下来,从gitee中down下OPenCV + OpenCV_Contrib库(建议使用国内托管库gitee下载):
cd /home/
git clone https://gitee.com/mirrors/opencv.git
cd opencv
git clone https://gitee.com/mirrors/opencv_contrib.git
这个过程需要等待一段时间,具体依赖与你的网速啦,下载成功后,可以在你的home目录下看见多了一个opencv文件夹,进去还可以看见有一个opencv_contrib文件夹,将opencv_contrib目录移到opencv目录下。
在下载的过程中,我们可以添加opencv所需要的依赖库:
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
以上步骤完成后,在opencv目录,创建build目录,然后进入build目录,:
mkdir build
cd build
开始编译,执行(注意后面的两个点不能少):
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..
网速不好可能卡在cmake时候: IPPICV: Download: ippicv_2020_lnx_intel64_20191018_general.tgz
可以手动下载ippicv_2020_lnx_intel64_20191018_general.tgz文件
链接: https://pan.baidu.com/s/1C05qBz-eSAUIxdwljce0kw 密码: 4q33
vim /home/haha/package/opencv/3rdparty/ippicv/ippicv.cmake
找到
"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/"
注释该行
然后加上自己的路径,上面下载的那个文件路径
"file:///home/haha/Downloads/"
然后重新cmake,ok则再执行make:
make -j4 //量力而行,cpu多就大点
sudo make install
配置环境
sudo vim /etc/ld.so.conf.d/opencv.conf
#文件末尾添加
/usr/local/lib
使配置生效
sudo ldconfig
配置bash
sudo gedit /etc/bash.bashrc
#最末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
使得配置生效
source /etc/bash.bashrc
更新
sudo updatedb
然后测试一下即可
cd ../smaples/cpp/example_cmake //在build下
cmake .
make
./opencv_example
python
import cv2
可能在install报下错
安装OpenCV时提示缺少boostdesc_bgm.i文件,9个文件,复制然后拷贝到opencv_contrib/modules/xfeatures2d/src/目录下,重新cmake即可:
boostdesc_bgm.i boostdesc_bgm_bi.i
boostdesc_bgm_hd.i
boostdesc_lbgm.i
boostdesc_binboost_064.i
boostdesc_binboost_128.i
boostdesc_binboost_256.i
vgg_generated_120.i
找不到cuda.hpp
对于opencv2/xfeatures2d/cuda.hpp: No such file or directory 类问题的解决方法。修改报错文件的include,改为绝对cuda.hpp的路径:
#include"/home/xxx/opencv/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d.hpp" //示例