ubuntu(已经配置了python2+opencv)简易配置python3的opencv:
所达到的效果就是python2与python3都能使用opencv
参考:http://blog.csdn.net/jiandanjinxin/article/details/71438780
https://blog.kevin-brown.com/programming/2014/09/27/building-and-installing-opencv-3.html
1、安装依赖(其中安装numpy是个难点):
sudo apt-get update
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3-setuptools python3-dev sudo easy_install3 pip
pip3 install numpy
sudo apt-get install cmake git libgtk2.0-dev
sudo apt install python3-dev libpython3.5-dev python3-numpy
2、编译opencv:
进入opencv源码文件
$ cd ~/opencv
$ mkdir build
$ cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \(编译类型)
-D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 \(因为默认是python2,编译选项)
-D BUILD_opencv_python3=ON \(编译选项)
-D BUILD_opencv_python2=OFF \(编译选项)
(可选)
-D INSTALL_C_EXAMPLES=OFF \(编译选项)
-D INSTALL_PYTHON_EXAMPLES=ON \(编译选项)
-D BUILD_EXAMPLES=ON \(编译选项)
-D PYTHON3_EXCUTABLE=/usr/bin/python3\(文件路径)
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.5m \(文件路径)
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \(文件路径)
-D PYTHON_NUMPY_PATH=/usr/local/lib/python3.5/dist-packages ..(文件路径)
由于camke涉及多处查找命令,可用python中自带的查找位置的命令:
#PYTHON_INCLUDE_DIR
from distutils.sysconfig import get_python_inc
print(get_python_inc())
#PYTHON_PACKAGES_PATH
from distutils.sysconfig import get_python_lib
print(get_python_lib())
#PYTHON_EXECUTABLE
$(which python3)
#CMAKE_INSTALL_PREFIX
import sys
print(sys.prefix)
#PYTHON_NUMPY_PATH
import numpy
print numpy.__file__
opencv编译指定python3
出现这个问题 删除build重新
Python 3:
-- Interpreter: /home/kevin/.virtualenvs/cv/bin/python (ver 3.5.2)
-- Libraries: NO
-- numpy: NO (Python3 wrappers can not be generated)
-- packages path: lib/python3.5/site-packages
当cmake输出python3的各个路径正确,尤其build for python3时就可
make -j4
之后并没有执行make install
我只是将编译后的unix-install中的*.so文件移动到/usr/local/lib/python3.5/dist-packages中重命名为cv2然后就能使用了!好奇怪
也许是由于之前已经安装了python2以及系统g++的opencv,并且so文件只是相当于python3信息的转换,所以行得通!
熟悉了cmake,ccmake命令的使用,
不过为了防止以后出问题,还是保存一些参考教程
http://singlepig-blog.logdown.com/posts/2014/01/14/opencv-configuring-opencv-paths
http://www.cnblogs.com/xzd1575/p/5555523.html
http://www.afterimage.top/2016/07/ubuntu%E4%B8%8B%E5%A4%9A%E7%89%88%E6%9C%ACopencv%E5%88%87%E6%8D%A2/
https://zh.wikibooks.org/zh-cn/CMake_%E5%85%A5%E9%96%80/%E8%BC%B8%E5%87%BA%E4%BD%8D%E7%BD%AE%E8%88%87%E5%AE%89%E8%A3%9D
http://pinkyjie.com/2010/10/19/ubuntu-opencv-python/
http://zyplot.com/2017/05/13/CV2-install/
http://www.cppblog.com/colorful/archive/2012/05/05/173750.html
最新文章
- 前端开发面试题收集(html部分)
- [UWP]涨姿势UWP源码——极简的RSS阅读器
- ThinkCMF-如何收藏
- Java--剑指offer(9)
- java编译做了哪些事?
- converntion
- 【CocoaPods】配置CocoaPods前 - 本地安装好Ruby环境
- js 全选 反选
- 网站HTTP请求过程解析
- myeclipse和eclipse安装Java反编译插件
- php优化技巧
- 树形dp练习
- 记一个问题的AC
- 在ubuntu server 上记录和查看cron日志
- linux 压缩解压打包工具大集合
- 各种缓存(Memcached、Redis、RabbitMQ、SQLlchemy)
- MPI 在Windows10 上安装,使用VS2013编译生成可执行程序
- JavaIO再回顾
- 禁止输入emoji表情
- python笔记六:进程与线程
热门文章
- SqlServer+Topshelf+Quartznet做集群,定时任务分布式处理
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(二)—— easyui的简单实用
- docker run
- 树莓派学习笔记——apt方式安装opencv
- javascript (function() { /* code */ })() 自执行函数
- 217. Contains Duplicate【easy】
- int 与 string::length()
- linux grep sed awk
- diamond源码阅读-循环探测配置信息是否变化rotateCheckConfigInfo
- hadoop2.4.1伪分布模式部署