原文:https://blog.csdn.net/hlxCSDN/article/details/82768767
进行OpenCV3.2+OpenCV3.2_contrib的安装:
1.下载
github上的下载地址:https://github.com/opencv
在opencv和opencv_contrib中分别选择版本相同的release包
注意:在module文件夹下包含了opencv_contrib中所有的组件,如果之后在调用opencv的时候缺少了里面包含的文件,都可以用关联opencv_contrib的方式解决
2.安装:
首先对之前已有的Opencv进行卸载:
首先进入进行编译的build文件夹,打开终端之后输入:
sudo make uninstall
cd ..
sudo rm -r build
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*
之后开始安装,首先安装依赖项:
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
sudo apt-get update
之后进行contrib以及opencv的整体安装:
将下载包解压后,将opencv_contrib-3.2.0移动至opencv-3.2.0目录下
进入opencv-3.2.0文件,打开终端进行
mkdir build;
cd build;
之后进行cmake:
cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <opencv_source_directory>
在<opencv_contrib>中输入 opencv_contrib路径,在<opencv_source_directory>中输入opencv路径即可
如:
cmake -DOPENCV_EXTRA_MODULES_PATH=/home/yk/opencv_contrib-3.2.0/modules /home/yk/opencv-3.2.0
cmake成功之后执行
make -j4
sudo make install
过程中可能会遇到的问题:
ICV: Downloading ippicv_linux_20151201.tgz...
CMake Error at 3rdparty/ippicv/downloader.cmake:73 (file):
file DOWNLOAD HASH mismatch
for file: [/home/yk/opencv-3.2.0/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz]
expected hash: [808b791a6eac9ed78d32a7666804320e]
actual hash: [b0f455bf2adcf42d2217a76d51b2d165]
status: [28;"Timeout was reached"]
Call Stack (most recent call first):
3rdparty/ippicv/downloader.cmake:110 (_icv_downloader)
cmake/OpenCVFindIPP.cmake:243 (include)
cmake/OpenCVFindLibsPerf.cmake:37 (include)
CMakeLists.txt:558 (include)
CMake Error at 3rdparty/ippicv/downloader.cmake:77 (message):
ICV: Failed to download ICV package: ippicv_linux_20151201.tgz.
Status=28;"Timeout was reached"
Call Stack (most recent call first):
3rdparty/ippicv/downloader.cmake:110 (_icv_downloader)
cmake/OpenCVFindIPP.cmake:243 (include)
cmake/OpenCVFindLibsPerf.cmake:37 (include)
CMakeLists.txt:558 (include)
-- Configuring incomplete, errors occurred!
See also "/home/yk/opencv-3.2.0/build/CMakeFiles/CMakeOutput.log".
See also "/home/yk/opencv-3.2.0/build/CMakeFiles/CMakeError.log".
安装OpenCv 3.2的过程中要下载ippicv_linux_20151201,由于网络的原因,这个文件经常会下载失败。
解决的办法是手动下载:ippicv_linux_20151201.tgz
方法:https://blog.csdn.net/ykwjt/article/details/90040425
下载完后替换opencv-3.2.0/3rdparty/ippicv/downloads/linux-*目录下的同名文件,重新cmake。
另外:如果你的网速特别慢,你还会遇到各种包下载失败的情况,很多很多的包下载失败,我这一次实在没有办法,失败了就再次cmake重新下载,经过多次的重新下载,最后都下载完了。