安装opencv(+opencv_contrib)
笔者环境:ubuntu18.04 + CUDA10.1
- 获取opencv和opencv_contrib,注意版本一致,笔者使用3.4.10版本
wget https://github.com/opencv/opencv/archive/3.4.10.zip -O opencv_3.4.10.zip
wget https://github.com/opencv/opencv_contrib/archive/3.4.10.zip -O opencv_contrib_3.4.10.zip
unzip opencv_3.4.10.zip
unzip opencv_contrib_3.4.10.zip
- 创建虚拟环境
conda create -n denseflow python=3.5
source activate denseflow
- 编译opencv
cd opencv-3.4.10
mkdir build && cd build
## 下面这句命令很长 建议粘贴到记事本中进行更改。需要更改的地方有两个:
## 1.OPENCV_EXTRA_MODULES_PATH 改为第一步中下载的opencv_contrib中的modules文件地址;
## 2.CUDA_ARCH_BIN根据你的显卡算力进行更改。
cmake -D CMAKE_BUILD_TYPE=RELEASE -D INSTALL_C_EXAMPLES=OFF -D BUILD_opencv_python2=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D CMAKE_INSTALL_PREFIX=$(python3 -c "import sys; print(sys.prefix)") -D OPENCV_EXTRA_MODULES_PATH=/home/ubuntu/users/zhanghao/opencv_3.4.10/opencv_contrib-3.4.10/modules -D PYTHON_EXCUTABLE=$(which python3) -D PYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -D PYTHON3_PACKAGES_PATH=$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") -D WITH_CUDA=ON -D WITH_CUBLAS=ON -D DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" -D CUDA_ARCH_BIN="7.0" -D CUDA_ARCH_PTX="" -D CUDA_FAST_MATH=ON -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON -D BUILD_EXAMPLES=OFF -D BUILD_TIFF=ON ..
make -j32
sudo make install
ps: 显卡算力查询可参考这个博客:https://blog.csdn.net/xiaxuesong666/article/details/79192162
cmake成功后会打印出安装地址:(下图第一行 install to:安装地址)
记下这个地址 /home/ubuntu/users/zhanghao/anaconda3/envs/denseflow ,后面会用。
编译安装denseflow
## 安装依赖包
sudo apt-get install libzip-dev
## 建议不要下载的opencv文件夹里面,你可以另外找一个位置git clone
git clone -b opencv-3.1 --recursive https://github.com/yjxiong/dense_flow.git
cd dense_flow
ps:git clone时务必加入-b参数确定分支,加入–recursive指令下载子项目。
修改 CMakeLists.txt
:
将
find_package(OpenCV REQUIRED)
改为
set(OpenCV_DIR "/home/ubuntu/users/zhanghao/anaconda3/envs/denseflow/share/OpenCV")
find_package(OpenCV REQUIRED)
ps:OpenCV_DIR就是你虚拟环境的地址(即之前叫你记住那个地址)加上share/OpenCV。
pps:make install过后安装地址的share目录下就会出现OpenCV这个文件夹。
然后即可编译安装:
mkdir build && cd build
cmake .. && make -j
#################################################
到此安装就完成了,使用https://github.com/yjxiong/dense_flow/tree/opencv-3.1里的指令进行测试和使用即可。