浅谈配置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设计】。

相关文章

Python寻找两个有序数组的中位数实例详解

Python寻找两个有序数组的中位数实例详解

Python寻找两个有序数组的中位数 审题: 1.找出意味着这是一个查找算法题 2.算法复杂度log级别,就是提示你是二分查找 3.二分查找实现一般为递归  (1)递归包括递...

SVM基本概念及Python实现代码

SVM基本概念及Python实现代码

SVM(support vector machine)支持向量机: 注意:本文不准备提到数学证明的过程,一是因为有一篇非常好的文章解释的非常好:支持向量机通俗导论(理解SVM的三层境界)...

解决Numpy中sum函数求和结果维度的问题

使用Numpy(下面简称np)中的sum函数对某一维度求和时,由于该维度会在求和后变成一个数,所以所得结果的这一维度为空。 比如下面的例子: a = np.array([[1,2,3...

pygame游戏之旅 调用按钮实现游戏开始功能

pygame游戏之旅 调用按钮实现游戏开始功能

本文为大家分享了pygame游戏之旅的第12篇,供大家参考,具体内容如下 实现点击功能: click = pygame.mouse.get_pressed() print(click...

Python使用random.shuffle()打乱列表顺序的方法

Python的random.shuffle()函数可以用来乱序序列,它是在序列的本身打乱,而不是新生成一个序列。 示例: from random import shuffle x =...