ubuntu16.04安装opencv3.3.1

主要参考下列博文: 
1、http://blog.csdn.net/redmoon729/article/details/69986131 
Ubuntu16.04下安装opencv3 
2、http://blog.csdn.net/huangkangying/article/details/53406370 
OpenCV 3.1下载 ippicv_linux_20151201失败 
3、http://blog.csdn.net/scutjy2015/article/details/78662021 
ubuntu16.04 完整make安装opencv 3.2.0

一、ubuntu下卸载opencv步骤

进入build文件夹,命令行执行下列命令。如新安装,此步骤可跳过。

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 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

还有部分依赖可以需要装(可以不管):

# git : 版本控制

# gfortran fortran编译器

# yasm 汇编编译器

# ffmpeg 系统自带

sudo apt-get install checkinstall yasm gfortran git ffmpeg

sudo apt-get install libxvidcore4 libgtk-3-dev

sudo apt-get install libjpeg8-dev libjasper-dev

sudo apt-get install libtiff5-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev

sudo apt-get install libxine2-dev libv4l-dev

sudo apt-get install libqt4-dev libgtk2.0-dev libtbb-dev

sudo apt-get install libatlas-base-dev

sudo apt-get install libfaac-dev libmp3lame-dev libtheora-dev

sudo apt-get install libvorbis-dev libxvidcore-dev

sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev

sudo apt-get install x264 v4l-utils

 

三、准备ippicv

 

安装过程中下载 ippicv_2017u3_lnx_intel64_general_20170822.tgz 的时间很长,甚至下载失败。ippicv 是一个并行计算库,事实上可以不安装。如果想不安装只需在下面第四步骤中配置cmake时增加如下选项,关闭掉即可:

-D WITH_IPP=OFF \

此处,为防后续需要使用,仍选择安装。在csdn上搜索,有网友提供了下载文件。下载后,在文件ippicv_2017u3_lnx_intel64_general_20170822.tgz 所在目录创建一个脚本文件,内容如下,其中路径,需要根据你的实际情况修改。在 opencv-3.3.1/3rdparty/ippicv/下创建downloads文件夹。然后执行该脚本。

#!/bin/bash 
ipp_file=./ippicv_2017u3_lnx_intel64_general_20170822.tgz && 
ipp_hash=$(md5sum $ipp_file | cut -d" " -f1) && 
ipp_dir=/home/XXX/Downloads/opencv-3.3.1/3rdparty/ippicv/downloads/linux-$ipp_hash && mkdir -p $ipp_dir && 
cp $ipp_file $ipp_dir

执行上述脚本,在opencv-3.3.1/3rdparty/ippicv/downloads/ 下将生成一个类似名称为 linux-4e0352ce96473837b1d671ce87f17359 的文件夹,其中的数字可能各不相同,不影响。该文件夹下是已经拷贝过来的ippicv_2017u3_lnx_intel64_general_20170822.tgz 文件

四:编译安装opencv3.3.1

进入opencv3.3.1解压的文件夹,然后cmake配置属性,执行如下命令:

cd opencv-3.3.1 
mkdir build 
cd build 
cmake -D CMAKE_BUILD_TYPE=RELEASE \ 
-D CMAKE_INSTALL_PREFIX=/home/xxx/anaconda3 \ 
-D INSTALL_PYTHON_EXAMPLES=ON \ 
-D INSTALL_C_EXAMPLES=OFF \ 
-D PYTHON_EXCUTABLE=/home/xxx/anaconda3/bin/python \ 
-D WITH_TBB=ON \ 
-D WITH_V4L=ON \ 
-D WITH_QT=ON \ 
-D WITH_GTK=ON \ 
-D WITH_OPENGL=ON \ 
-D BUILD_EXAMPLES=ON ..

其中: 
CMAKE_INSTALL_PREFIX:安装的python目录前缀,其实就是指定了python模块的安装路径。如下命令的输出即是该路径:

python -c "import sys; print(sys.prefix)"

PYTHON_EXCUTABLE:指定python的执行文件路径。如下命令的输出即是该路径

which python

如果想关闭掉ippicv的安装,只需在上述cmake命令中增加一行: -D WITH_IPP=OFF \ 即可

还有一些参数为:

-D CMAKE_BUILD_TYPE=RELEASE 
-D CMAKE_INSTALL_PREFIX=/usr/local 
-D WITH_CUDA=OFF 
-D WITH_OPENMP=ON 
-D WITH_QT=ON

上述配置命令执行成功后,继续执行编译命令

make -j15

其中 -jx 是使用CPU的多线程,x是要使用的线程数量。我的CPU是AMD Ryzen 1700X(8核16线程),因此此处配置为 -j15, 使用15个线程,如下图是执行过程中的CPU占用。配置多线程可大大缩短编译时间。 

执行安装命令

sudo make install

加入到动态链接库

sudo ldconfig

五、验证测试:

执行如下命令:

python -c "import cv2; print (cv2.__version__)"

正常会输出已经安装的opencv版本号

3.3.1

继续import CV2 测试

python 
Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49) [GCC 7.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. 
>>> import cv2 
>>>

成功import无错误。

至此opencv3.3.1安装成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值