Ubuntu14.04 + Python3.4.3 + OpenCV3.1.0的安装配置

       本文主要介绍在配置OpenCV3.1.0中的几个坑。

如何设置cmake Python3

       因为我没有使用Anaconda,所以,cmake将会检测到两个版本的python,而cmake倾向于使用低版本的python,也就是会选择python2,所以我们要对此进行修改。
       我看见网上大多是直接给定cmake参数,比如说:

$ cmake -D CMAKE_BUILD_TYPE=RELEASE  \  
    -D INSTALL_C_EXAMPLES=OFF \  
    -D INSTALL_PYTHON_EXAMPLES=ON \  
    -D BUILD_EXAMPLES=OFF \  
    -D BUILD_opencv_python3=ON  \  
    -D BUILD_opencv_python2=OFF  \  
    -D BUILD_opencv_java=OFF  \  
    -D PYTHON_EXECUTABLE=$(which python3) ..

       但这似乎对我并不适用,因为在cmake的时候,仍然显示配置的是python2。那我们应该怎么办呢?




       这个时候可以看一下CMakeLists.txt文件,在其中搜索python,可以发现有这么几行代码:

# --- Python support ---
include(cmake/OpenCVDetectPython.cmake)

       显然这就是我们要寻找的用于检测和选择Python版本的文件,打开:

...
find_python(2.7 ...)
...
find_python(3.4 ...)

       所以我们直接将find_python(2.7 …)直接注释掉,让cmake找不到Python2.7就可以了。



make && make install之后仍然无法import cv2

       虽然说我们执行了make && make install指令,但是Python3找不到我们已经编译好了的库文件,我们需要的库文件是cv2.cpython-34m.so,所以我们先找到这个文件:

~/opencv/build/lib/python3/cv2.cpython-34m.so

       第一种方法是将这个路径加入到PYTHONPATH中,并且修改上面的文件名为cv2.so;第二种方法是将该文件放到Python3能够找到的地方。
       Python搜索模块的路径:
1) 程序的主目录
2) PTYHONPATH目录(如果已经进行了设置)
3) 标准连接库目录(一般在/usr/local/lib/python2.X或者python3.X)
4) 任何的.pth文件的内容(如果存在的话).新功能,允许用户把有效果的目录添加到模块搜索路径中去.pth后缀的文本文件中一行一行的地列出目录。
       上面这四个组合起来就变成了sys.path了。
       这里我们直接将cv2.cpython-34m.so文件复制到/usr/local/lib/python3.4中,并重命名为cv2.so,打开Python3:

>>> import cv2
>>> cv2.__version__
'3.1.0'

       Ok,我们已经成功了。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值