Opencv作为一个功能齐全的计算机视觉库,是许多计算机视觉项目需要利用的一个常用库,但是直接在python下利用pip或conda安装的往往是阉割版本,会导致某些功能不可用,本文介绍一下如何在Anaconda子环境中安装使用功能完整的opencv-python。
1.首先在opencv官网下载对应版本的opencv(https://opencv.org/),以及其contrib扩展模块(https://github.com/opencv/opencv_contrib/releases)
2.利用cmake命令编译模块,通常在存在CmakeList.txt的文件夹中新建一个build文件夹,在此文件夹中执行一下命令,命令选项较多建议根据自己情况逐一核对:
cmake
-D CMAKE_BUILD_TYPE=Release(编译方式)
-D CMAKE_INSTALL_PREFIX=/usr/local(编译前缀)
-D OPENCV_EXTRA_MODULES_PATH=/home/opencv/opencv_contrib-4.0.1/modules(编译扩展模块路径)
-D BUILD_DOCS=ON(编译文件显示)
-D BUILD_EXAMPLES=ON(编译例程)
-D PYTHON3_EXCUTABLE=/home/anaconda3/bin/python3(python可执行程序,这个必须用anaconda子环境下的python)
-D BUILD_opencv_python3=ON(编译python3版本)
-D BUILD_opencv_python2=OFF(不编译python2版本)
-D PYTHON3_INCLUDE_DIR=/home/anaconda3/include/python3.6m(python对应include文件夹位置)
-D PYTHON3_LIBRARY=/home/anaconda3/lib/python3.6/config-3.6m-x86_64-linux-gnu/libpython3.6m.a(python库位置)
-D PYTHON_NUMPY_PATH=/home/anaconda3/lib/python3.6/site-packages(numpy软件包位置,这个通常都在这里,根据可根据自己情况改变)
-D INSTALL_PYTHON_EXAMPLES=ON(安装例程,一些例程还是很有趣的)
-D PYTHON3_PACKAGESS_PATH=/home/anaconda3/lib/python3.6/site-packages(python软件包位置)
-D WITH_TBB=ON ..
注意,最后这两..不可以省略,表示文件在上层文件夹,否则编译不成功。
4.在编译成功后,进入编译编译文件夹,在build文件夹中(存在makefile的文件夹)执行make-j8(j8多核编译速度快),最终生成cv2.cpython-36m-x86_64-linux-gnu.so这个文件。
5.利用ln命令建立软连接ln -s /usr/local/lib/python3.6/site-packages/cv2.cpython-36m-x86_64-linux-gnu.so /anaconda3/lib/python3.6/site-packages/cv2.so
6.在子环境下利用利用importcv2(名称与软连接名称一致)引入opencv包即可使用,也可以先到例程(example)文件夹下找个例程开始和opencv-python愉快的玩耍吧。