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

yipeiwu_com7年前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中使用元类的教程

type() 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 比方说我们要定义一个Hello的class,就写一个hello.py模块:...

Python交互式图形编程的实现

Python交互式图形编程的实现

一、 1、图形显示 图素法 像素法 图素法---矢量图:以图形对象为基本元素组成的图形,如矩形、 圆形 像素法---标量图:以像素点为基本单位形成图形 2、图形用户界...

Python编程argparse入门浅析

Python编程argparse入门浅析

本文研究的主要是Python编程argparse的相关内容,具体介绍如下。 #aaa.py #version 3.5 import os #这句是没用了,不知道为什么markd...

浅谈function(函数)中的动态参数

我们可向函数传递动态参数,*args,**kwargs,首先我们来看*args,示例如下: 1.show(*args) def show(*args): print(args,typ...

Python中用Spark模块的使用教程

 在日常的编程中,我经常需要标识存在于文本文档中的部件和结构,这些文档包括:日志文件、配置文件、定界的数据以及格式更自由的(但还是半结构化的)报表格式。所有这些文档都拥有它们自...