Anaconda下安排python+opencv+contribx的实例解说

Linux下opencv配置及多版本切换讲解,linuxopencv

在win下配置opencv3.0.0还是比较简单的,这里简单说一下配置过程:
参考链接:

先吐槽一下opencv

shell里执行:

这里是在CentOS
系统下配置多个版本之间的切换

Linux下opencv配置及多版本切换讲解

anaconda安装opencv,配置caffe:
conda install --channel https://conda.anaconda.org/menpo opencv3 将会安装2.XX和3.XX版本
import cv2
print cv2.__version__可查看opencv版本
ctrl+D退出终端的import环境
pycharm用caffe:
import sys
sys.path.append('/home/hpc/caffe/python')    #添加caffe根目录下的python路径,按照自己的路径进行更改
import caffe
protoc --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接口的opencv
cmake -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/build
make 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/sunlibo
chmod a+x opencv//给opencv权限
rm -rf opencv//r为递归删除,f为强制删除。如果删除还是有文件权限不够,可以继续给相应文件权限,chomd a+x 文件名

Linux下opencv配置及多版本切换讲解 anaconda安装opencv,配置caffe:conda
install –channel …

整个配置过程基本按照链接中的步骤来的,唯一要注意的是:在编辑好属性文件后,以后再写其他工程时,只要将这个属性文件(文中叫“opencv300.probs”)添加到工程中就行了,添加步骤是“视图->其他窗口->属性管理器”然后再在右侧的属性列表中添加属性表,就OK了~

3.1.0的版本cv2.sift和surf就不能用了 看解释是说 什么
“non-free”,,必须要到opencv_contrib库中才有,而这个库的编译不是一点点的困难
堪称史上最恶

sudo update-alternatives –install /usr/bin/python python
/usr/bin/python3 150

1、到官网下载jdk7和jdk8

配置opencv2.4.10和opencv3.0.0差不多,也是配置属性表然后倒入,唯一麻烦的是opencv2.4.10的附加依赖项比较多,可以这样来:

这几天为了装open_contrib反复编译各种报错已经很无奈了。

sudo update-alternatives –install /usr/bin/python python
/usr/bin/python2 100

地址:

==============》在命令行下,进入lib库的目录,如果我们要得到debug库的名称,可以直接输入【dir
*d.lib】,然后,用鼠标进行选择,再复制到属性表.probs中,最后导入就行了;

查遍了各种大神的各种攻略,花积分下载了各种攻略。。基本上没有一个能全部解决的办法。

图片 1

我这里也放一下3.0.0版本和2.4.10版本的属性表的百度云:

回帖或者其他的 要么只说 “”我解决了 “ 并不说方法,要么就是不详不尽
或者比较高深

2、解压到目录下

opencv300.probs  :    链接: 密码:qwz7

其实吧 新手只要看到vs编译啊
cmake啊这种存在啊无数千奇百怪的报错的时候就会无比的慌,尤其是opencv这种一编译就2小时起的大家伙

#解压jdk7
tar -zxvf jdk-7u79-linux-x64.tar.gz

#解压jdk8
tar -zxvf jdk-8u131-linux-x64.tar.gz

opencv2410.probs   :  链接: 密码:g1g9

在这里给初学者们提供一个简便的方法

  修改名称

唯一要注意的地方就是,对这里里面的属性表中的$(OPENCV2)要改成你自己的系统变量中的名称;

我偶然在看一个做猫脸检测的大神的博客 发现一个神网站

#修改jdk文件夹名称
mv jdk1.7.0_79 jdk7
#修改jdk8文件夹名称
mv jdk1.8.0_131 jdk8

http://www.lfd.uci.edu/~gohlke/pythonlibs/

在/usr/local目录下创建jvm目录

基本上有现在所需的所有库

mkdir jvm

(其实imagepy群的yxdragon大神之前给过我也
,就是我没仔细看下面的库居然这么全)

将jdk7和jdk8移动到jvm目录下

都是编译好了的 直接pip install就行 这里居然直接有已经编译好的

mv jdk7 jvm/
mv jdk8 jvm/

图片 2

3、编写shell脚本进行jdk切换

根据你python的版本 和opencv需要的版本

在jvm创建jdk_toggle.sh 执行文件,并且写切换的代码

直接输入pip install opencv python-3.x.0+contrib-cpxx-cpxxm-win
xxxxx.whl即可 自动卸载原有版本 安装新的

#在jvm目录下执行
vim jdk_toggle.sh

好了 可以使用了

脚本代码

import cv2

#声明jdk7和jdk路径变量
JAVA_7_HOME=/usr/local/jvm/jdk7
JAVA_8_HOME=/usr/local/jvm/jdk8

#执行脚本传入的值进行判断。默认是jdk8
case $1 in
    jdk7)
        export JAVA_HOME=$JAVA_7_HOME
        ;;
    jdk8)
        export JAVA_HOME=$JAVA_8_HOME
        ;;
    *)
        export JAVA_HOME=$JAVA_8_HOME
        ;;
esac

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

help(cv2.xfeatures2d)

4、执行切换脚本

测试如图

#在jvm目录下
#切换到jdk7
source jdk_toggle.sh jdk7

#切换到jdk8
source jdk_toggle.sh jdk8

图片 3

5、测试结果

以上这篇Anaconda下配置python+opencv+contribx的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

图片 4

您可能感兴趣的文章:

  • Python学习之Anaconda的使用与配置方法
  • Anaconda多环境多版本python配置操作方法
  • 在python3.5中使用OpenCV的实例讲解
  • Python 3.x
    安装opencv+opencv_contrib的操作方法
  • windows上安装Anaconda和python的教程详解

 

图片 5

 

相关文章