这一步尽量把系统更新一下,并且把相关的依赖库给装了,步骤如下:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3.5-dev
sudo apt-get install ffmpeg
首先,是下载opencv对应版本的source,建议尽量在github上下载,速度还算稳定,
https://github.com/opencv/opencv/releases,找到想要的版本下载即可;
如果想去官网下载,地址在这里:
https://opencv.org/releases
在哪里下载无所谓,那个速度快就在哪里下,下载完毕解压即可,解压用图形界面右键菜单解压或者tar命令都可以.
ippicv是用于并行计算的,这个库很容易下载失败,如果不想要这个功能,直接用下面的配置关掉即可:
-D WITH_IPP=OFF \
然而并不建议这么做,尽量还是带上ippicv进行编译,方法也很简单,就是提前把这个库下载好即可.
下载地址位于
https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_[日期]/ippicv
比如我要用的3.4.2要求20180518这个版本,直接把[日期]替换成20180518即可,如下:
https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180518/ippicv
需要的具体版本以及文件名在/opencv-[版本号]/3rdparty/ippicvippicv.cmake中,如下:
if(X86_64)
set(OPENCV_ICV_NAME "ippicv_2017u3_lnx_intel64_general_20180518.tgz")
set(OPENCV_ICV_HASH "b7cc351267db2d34b9efa1cd22ff0572")
然后需要修改ippicvippicv.cmake,从文件结尾往前找,找到类似
set(THE_ROOT "${OpenCV_BINARY_DIR}/3rdparty/ippicv")
把这一行一直到结尾都选中,用下面的代码替换
set(OPENCV_ICV_UNPACK_PATH "${CMAKE_CURRENT_LIST_DIR}/unpack")
set(OPENCV_ICV_PATH "${OPENCV_ICV_UNPACK_PATH}${OPENCV_ICV_PACKAGE_SUBDIR}")
message(STATUS "ICV: Package successfully downloaded")
set(OPENCV_ICV_PATH "${OPENCV_ICV_PATH}" PARENT_SCOPE)
endfunction()
然后在同一级目录中(也就是/opencv-[版本号]/3rdparty/ippicv/)建立unpack文件夹,把下载下来的ippicv包解压出的内容放进unpack文件夹即可;
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..
注:如果需要安装扩展contrib库,则加上-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules,不然去掉即可
make -j`nproc`
sudo make install
sudo ldconfig
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令
以上步骤即已完成,如果还是不行,在cv目录下试试此条语句
ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so
另附 查看linux中 opencv的版本 可供检查自己的opencv是否安装成功
查看opencv安装路径:
sudo find / -iname "*opencv*"
查看opencv版本:
pkg-config opencv --modversion
查看opencv安装库:
pkg-config opencv --libs