浅谈配置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提供的calendar实现,相信对大家的Python程序设计有一定的借鉴价值。 此程序在windows下测...

对Django 中request.get和request.post的区别详解

Django 中request.get和request.post的区别 POST和GET差异: POST和GET是HTTP协议定义的与服务器交互的方法。GET一般用于获取/查询资源信息,...

pandas series序列转化为星期几的实例

series序列中每个元素都是带有日期形式的字符串,需要将其转化为一个同等大小的series,且其中每个元素都是星期几。 1)将Series转化为datetime格式; 2)将Serie...

在Python中表示一个对象的方法

在 Python 中一切都是对象。如果要在 Python 中表示一个对象,除了定义 class 外还有哪些方式呢?我们今天就来盘点一下。 0x00 dict...

python 将list转成字符串,中间用符号分隔的方法

如下所示: data = [1,2,3,4] print "|".join(str(i) for i in data) 如果data中有中文: import sys reloa...