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中 sys.argv[]的用法简明解释
Dec 20 Python
python机器学习理论与实战(四)逻辑回归
Jan 19 Python
python读取各种文件数据方法解析
Dec 29 Python
深入了解和应用Python 装饰器 @decorator
Apr 02 Python
python matplotlib库绘制条形图练习题
Aug 10 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
python统计文章中单词出现次数实例
Feb 27 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
Mar 09 Python
如何理解python对象
Jun 21 Python
Prometheus开发中间件Exporter过程详解
Nov 30 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 Python
python中取整数的几种方法
Nov 07 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进阶学习之命名空间基本用法分析
2019/06/18 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
一个JavaScript防止表单重复提交的实例
2014/10/21 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
详解微信小程序中var、let、const用法与区别
2020/01/11 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
vue3.0 项目搭建和使用流程
2021/03/04 Vue.js
[45:46]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS DT
2014/05/23 DOTA
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
python二维码操作:对QRCode和MyQR入门详解
2019/06/24 Python
Python用input输入列表的实例代码
2020/02/07 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
详解HTML5中的manifest缓存使用
2015/09/09 HTML / CSS
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
Python里面如何实现tuple和list的转换
2012/06/13 面试题
报关报检委托书
2014/04/08 职场文书
某某同志考察材料
2014/05/28 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
建议书格式
2015/02/04 职场文书
会议主持词开场白
2015/05/28 职场文书