浅谈配置OpenCV3 + Python3的简易方法(macOS)

yipeiwu_com6年前Python基础

我的电脑本来是有手动CMake+make安装的OpenCV3的,以及系统自带的python2.x,但是现在想用python3+OpenCV3。

安装Python3

brew install python3 

没有homebrew的话请自行安装

不要使用pip3

一开始我使用

pip3 install numpy 
pip3 install opencv-python 

虽然成功了,但是不能使用imshow及video相关的东西,要你何用。

删除原OpenCV

在原先CMake的build文件夹下使用

make uninstall

安装OpenCV3

brew install opencv3 --with-contrib --with-python3 --without-python 

–with-contrib是安装额外的contrib模块。

如果不加–without-python会报一个大意是不能同时用于python3和python2的错。

等待漫长的各种下载和编译

期间会编译gcc,花了一个半小时,也是醉了。

有些步骤挂VPN会加速,有些反而会更慢。

关于protobuf出错

在OpenCV3的CMake阶段会报一个protobuf下载失败的错。

使用:

brew install protobuf 

再重新执行

链接

安装完后提示信息,大意是OpenCV3与OpenCV有很多文件冲突,所以就不把它放在/usr/local里了 blabla..

此时虽然python里可以用了,但是c++里不行了。

需要使用:

brew link opencv3 --overwrite --force

切换

如果以后需要同时使用OpenCV2和OpenCV3,可以用以下命令相互切换

brew unlink opencv3 
brew link opencv --force --overwrite

以上这篇浅谈配置OpenCV3 + Python3的简易方法(macOS)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

简单介绍Ruby中的CGI编程

Ruby 是一门通用的语言,不仅仅是一门应用于WEB开发的语言,但 Ruby 在WEB应用及WEB工具中的开发是最常见的。 使用Ruby您不仅可以编写自己的SMTP服务器,FTP程序,或...

python迭代器实例简析

本文实例讲述了python迭代器的简单用法,分享给大家供大家参考。具体分析如下: 生成器表达式是用来生成函数调用时序列参数的一种迭代器写法 生成器对象可以遍历或转化为列表(或元组等数据结...

Python设计模式之桥接模式原理与用法实例分析

Python设计模式之桥接模式原理与用法实例分析

本文实例讲述了Python设计模式之桥接模式原理与用法。分享给大家供大家参考,具体如下: 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化....

Python的字典和列表的使用中一些需要注意的地方

Python 中有三个非常好用的数据结构,列表,元组和字典, 元组是不可变的,列表可以保存任意类型的Python对象,并可以随意扩展没有大小限制, 字典是一个key-value的键值映射...

Python字符串通过'+'和join函数拼接新字符串的性能测试比较

有一道Python面试题, 以下代码有什么局限性,要如何修改 def strTest(num): s = 'Hello' for i in range(num): s...