Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法


Posted in Python onApril 02, 2018

1.OpenCV下载

首先创建一个空的文件夹,进入文件夹执行如下命令,如我创建的文件夹是opencv-python

cd opencv-python
git clone https://github.com/opencv/opencv.git

也可以直接进入网址OpenCV_Download下载

使用git下载后应有一个名字为opencv的文件夹,进入文件夹执行如下命令:

cd opencv
mkdir build
cd build

2.编译opencv源码

使用cmake编译opencv源码,在编译前请确认所有的依赖项已经正确安装,可执行如下命令:

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

如果项目已经安装会自动略过,如果项目没有安装则会安装。

在使用cmake编译阶段系统是64位还是32位在这个地方执行的命令是不同的

我的电脑比较渣,装的是32位的系统,这里以32位系统的编译命令为主,同样介绍64位的编译命令,理论上除了文件路径其他应该一样,但是没有经过验证,请慎重!!!

以上执行完毕后,32位执行如下命令进行编译

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local PYTHON3_EXECUTABLE = /usr/bin/python3 PYTHON_INCLUDE_DIR = /usr/include/python3.5 PYTHON_INCLUDE_DIR2 = /usr/include/i386-linux-gnu/python3.5m PYTHON_LIBRARY = /usr/bin/i386-linux-gnu-python3/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS = /usr/local/lib/python3.5/dist-packages/numpy/core/include/ ..

对于64位系统,cmake命令中的可选项即PYTHON_INCLUDE_DIR等在官方指导文件中可以通过下列提示具体查看

PYTHON2(3)_EXECUTABLE = <path to python>
PYTHON_INCLUDE_DIR = /usr/include/python<version>
PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python<version>
PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython<version>.so
PYTHON2(3)_NUMPY_INCLUDE_DIRS = /usr/lib/python<version>/dist-packages/numpy/core/include/

参考网上其他人给出的编译命令,将64位系统编译命令写出,但是未经本人验证,如果有已经配置成功的同学请给我留言,以便完善。

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local PYTHON3_EXECUTABLE = /usr/bin/python3 PYTHON_INCLUDE_DIR = /usr/include/python3.5 PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python3.5m PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu-python3/libpython3.5m.so PYTHON3_NUMPY_INCLUDE_DIRS = /usr/local/lib/python3.5/dist-packages/numpy/core/include/ ..

64位或32位系统编译opencv只在cmake命令有差别,cmake执行完之后分别执行如下命令

make
sudo make install

如果没有出错的话,至此使用python3开发opencv的开发环境就已经配置完成了。写个小程序试一下:

示例代码

import cv2
srcImage = cv2.imread('lena.jpg')
cv2.imshow('Python3', srcImage)
cv2.waitKey(0)

运行结果如下:

Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法

以上这篇Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用items()方法返回字典元素对的教程
May 21 Python
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
Feb 07 Python
python之super的使用小结
Aug 13 Python
浅谈Python接口对json串的处理方法
Dec 19 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
Jan 22 Python
python实现在函数中修改变量值的方法
Jul 16 Python
python 字符串常用方法汇总详解
Sep 16 Python
python自动结束mysql慢查询会话的实例代码
Oct 27 Python
Python常用模块logging——日志输出功能(示例代码)
Nov 20 Python
解决Keras 自定义层时遇到版本的问题
Jun 16 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
Apr 02 #Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 #Python
Python浅复制中对象生存周期实例分析
Apr 02 #Python
python基础教程项目五之虚拟茶话会
Apr 02 #Python
Python实现批量读取图片并存入mongodb数据库的方法示例
Apr 02 #Python
python基础教程项目四之新闻聚合
Apr 02 #Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
Apr 02 #Python
You might like
用PHP实现图象锐化代码
2007/06/14 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
js常用排序实现代码
2010/12/28 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
JavaScript 动态加载脚本和样式的方法
2015/04/13 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
Python的Flask开发框架简单上手笔记
2015/11/16 Python
Python字符串格式化输出方法分析
2016/04/13 Python
老生常谈python之鸭子类和多态
2017/06/13 Python
Python简单实现控制电脑的方法
2018/01/22 Python
Python开发的十个小贴士和技巧及长常犯错误
2018/09/27 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
Python玩转加密的技巧【推荐】
2019/05/13 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
JavaScript实现页面动态验证码的实现示例
2021/03/23 Javascript
教师的实习自我鉴定
2013/12/17 职场文书
基层工作经历证明
2014/01/13 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
转让协议书范本
2014/04/15 职场文书
工商管理专业自荐信
2014/06/03 职场文书
合作协议书范文
2014/08/20 职场文书
银行开户授权委托书格式
2014/10/10 职场文书
招商引资工作汇报材料
2014/10/28 职场文书