ubuntu+多版本python+opencv3配置安装

这里用到的是pyenv,为多版本python建立了虚拟环境。

 

一、首先要安装依赖项:

基本:sudo apt install build-essential -y

必须:sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev -y

可选:sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev -y

 

二、编译

从官网上下载opencv3.1.zip进行解压

在终端里输入:

cd ~/opencv-3.1.0

mkdir build

cd build

 

如果只需要编译一个python版本的opencv ,就输入:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

 

接着来说pyenv多版本的。先启动虚拟环境,比如env361

安装numpy:pip install numpy

接着依次输入:

PREFIX_MAIN=`pyenv virtualenv-prefix`

PREFIX=`pyenv prefix`

cmake -D CMAKE_BUILD_TYPE=RELEASE \

-DENABLE_PRECOMPILED_HEADERS=OFF \

-D CMAKE_INSTALL_PREFIX="$PREFIX" \

-D PYTHON3_EXECUTABLE="$PREFIX"/bin/python3 \

-D PYTHON3_PACKAGES_PATH="$PREFIX"/lib/python3.6/site-packages \

-D PYTHON3_LIBRARY="$PREFIX_MAIN"/lib/libpython3.6m.so \

-D PYTHON3_INCLUDE_DIRS="$PREFIX_MAIN"/include/python3.6m \

-D PYTHON3_NUMPY_INCLUDE_DIRS="$PREFIX"/lib/python3.6/site-packages/numpy/core/include \

-D INSTALL_C_EXAMPLES=OFF \

-D BUILD_NEW_PYTHON_SUPPORT=ON \

-D BUILD_opencv_python3=ON \

-D BUILD_opencv_legacy=OFF \

-D INSTALL_PYTHON_EXAMPLES=ON \

-D BUILD_EXAMPLES=ON ..

 

cmake -D CMAKE_BUILD_TYPE=RELEASE -DENABLE_PRECOMPILED_HEADERS=OFF -D CMAKE_INSTALL_PREFIX="$PREFIX" -D PYTHON3_EXECUTABLE="$PREFIX"/bin/python3 -D PYTHON3_PACKAGES_PATH="$PREFIX"/lib/python3.6/site-packages -D PYTHON3_LIBRARY="$PREFIX_MAIN"/lib/libpython3.6m.so -D PYTHON3_INCLUDE_DIRS="$PREFIX_MAIN"/include/python3.6m -D PYTHON3_NUMPY_INCLUDE_DIRS="$PREFIX"/lib/python3.6/site-packages/numpy/core/include -D INSTALL_C_EXAMPLES=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_opencv_python3=ON -D BUILD_opencv_legacy=OFF -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON ..

 

由于可能出现视频无法读取的问题,所以加入额外的一些选项:

sudo apt install ffmpeg

cmake -D WITH_FFMPEG=ON -D WITH_TBB=ON -D WITH_GTK=ON -D WITH_V4L=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON -DWITH_QT=OFF -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..

 

这样opencv编译配置就配置好了。继续输入:

make -j8(这里的 -j8 指的是电脑CPU的线程数,或者直接 -j 让计算机自己选择线程数)

 

error: ‘NppiGraphcutState’ has not been declared

解决方案:需要修改一处源码: 在graphcuts.cpp中将

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改为

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

 

sudo make install

安装完成,进入python用import cv2来试一下。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值