conda 虚拟环境内安装git_在Conda虚拟环境中编译安装OpenCV

最近做一些传统算法特征提取方面的工作,由于SIFT算法存在专利限制,需要用到OpenCV Contrib包,就需要自己去编译OpenCV。

平时我们自己编译CV都是安装到/usr/local下面,而编译安装到Conda虚拟环境中就成了个不大不小的坑,直接安装到/usr/local是import不到的。

首先安装依赖并git clone OpenCV和OpenCV Contrib的源码,都是ISO流程就不详细说了,可以参考我以前的文章,虽然是树莓派的例子,但是我试了下依赖和ubuntu是一样的。

然后Anaconda建虚拟环境并激活,建议安装上numpy,编译的opencv-python会有依赖。

接下来cmake一条龙:

cd opencv

mkdir build

cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \

-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.3.0/modules \

-D OPENCV_ENABLE_NONFREE=ON \

-D WITH_OPENMP=ON \

-D WITH_TBB=ON \

-D OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic \

-D ENABLE_PRECOMPILED_HEADERS=OFF \

-D WITH_CUDA=ON \

-D ENABLE_FAST_MATH=1 \

-D CUDA_FAST_MATH=1 \

-D WITH_CUBLAS=1 \

-D CMAKE_INSTALL_PREFIX=$(python -c "import sys; print(sys.prefix)") \

-D PYTHON3_EXECUTABLE=$(which python) \

-D PYTHON3_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \

-D PYTHON3_PACKAGES_PATH=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") \

..

make

make install

关键就是最后install prefix和Python那一堆参数,看一下也就懂了,就是安装到虚拟环境并且设置要使用虚拟环境内的Python。如果不需要Cuda支持也可以去掉,反正按需调节参数就好了。由于是安装到conda环境,都不用sudo了。

对了从4.3.0开始由于专利过期,应该不用启动non-free都可以用SIFT了,不过既然编都编了就把non-free开起一把梭。

你可能感兴趣的:(conda,虚拟环境内安装git)