opencv学习系列:Linux下opencv配置及多版本切换
来源:互联网 发布:linux镜像站 搭建 编辑:程序博客网 时间:2024/05/20 17:40
anaconda安装opencv,配置caffe:conda install --channel https://conda.anaconda.org/menpo opencv3 将会安装2.XX和3.XX版本import cv2print cv2.__version__可查看opencv版本ctrl+D退出终端的import环境pycharm用caffe:import syssys.path.append('/home/hpc/caffe/python') #添加caffe根目录下的python路径,按照自己的路径进行更改import caffeprotoc --version #查看protobuf安装版本编译opencv:use `pkg-config` to specify OpenCV library paths??一般使用$ mkdir build$ cd build//进入目录,防止污染,创建build文件$ cmake .. // .. 表示CMakeLists.txt文件在build的上一层目录, cmake 生成makefile文件(用cmake命令对相关 的变量值进行配置)$ make //编译、链接、生成可执行文件等编译官网正常版本:会生成python接口的opencvcmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv2 -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON WITH_QT=ON ..编译带contrib版本:注意根据错误模块设置了WITH_MATLAB=OFF,如果看不出来,可以去cmake-gui生成makefile文件;没编译Python版本,系统默认用的是自带Python,用anaconda安装带contrib模块,则用cmake-gui比较好!一项项配置比较好!$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3_contrib -D OPENCV_EXTRA_MODULES_PATH=/home/sunlibo/opencv3-contrib/opencv/opencv_contrib/modules/ -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_MATLAB=OFF -D BUILD_EXAMPLES=ON -D WITH_QT=ON ..$ sudo make$ sudo make install重要:cmake中的..即代表在当前目录编译而所需的 CMakeLists.txt!!!其中编译类型(DEBUG/RELEASE),对相关语言、环境的支持(如QT,Python)其中生成的文件在bulid中,而生成的CMakeList.txt文件在上一级文件中;其中-D OPENCV_EXTRA_MODULES_PATH=/home/sunlibo/opencv3_contrib/opencv/opencv_contrib/modules/ 是指将要install的路径,一般默认为 /usr/local,这里是指定的opencv的安装路径;其中 -D OPENCV_EXTRA_MODULES_PATH=/home/sunlibo/libo_opencv3/opencv_contrib/modules/ 是指 opencv_contrib中 modules 所在的路径,最后面的两点不可省略;opencv安装测试及版本查看:pkg-config --modversion opencv 查看opencv安装的版本import cv2 && print(cv2.__version__)验证anaconda2/Python连接的opencv版本opencv多版本切换:过修改.bashrc文件来设置PKG_ CONFIG_PATH 和 LD_LIBRARY_PATH的路径来选择对应的opencv版本,如:export PKG_CONFIG_PATH=/usr/local/opencv/3.10/lib/pkgconfig export LD_LIBRARY_PATH=/usr/local/opencv/3.10/lib 具体还是要在CMakeList.txt中指定要找的opencv的目录clion等平台配置CmakeLists.txt,切换多版本的方法:set(OpenCV_DIR /usr/local/opencv3_contrib/share/OpenCV)#因为每一个安装的opencv都带有share文件夹,find_package可自动找到对应的库opencv对应的include和lib等文件,默认下是去/usr/local/share下的OpenCV中查找cmake脚本命令find_package(OpenCV REQUIRED)卸载opencv:cd /home/sunlibo/opencv/buildmake uninstall//卸载掉配置路径中的文件sudo rm -r build//删除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*cd /home/sunlibochmod a+x opencv//给opencv权限rm -rf opencv//r为递归删除,f为强制删除。如果删除还是有文件权限不够,可以继续给相应文件权限,chomd a+x 文件名
阅读全文