Mac-OSX的Python3.5虚拟环境下安装Opencv

Mac-OSX的Python3.5虚拟环境下安装Opencv

1   关键词

关键词:Mac,OSX,Python3.5,Virtualenv,Opencv

2   概述

本文是一篇 环境搭建 的基础文。

为了这个东西让自己折腾了接近2天的时间,各种筛选资料,各种尝试,最后终于找到了相应的资料,然后成功安装。

在整理本文的时候,特别感谢这个作者,他提供了两篇安装opencv的方法,分别是 python2.x [1] 和 python3.x [2] 。

笔者按照 3.x 的步骤和线索,再解决掉一些文中未的提及的中间问题,最后终于成功安装。

由于主要步骤和原文没有太大出入,所以本文纯粹是原文的中文布道版吧。

本文适合读者群:

  • MaxOSX用户
  • Python用户
  • 使用OpenCV进行图片处理的用户

3   安装步骤

  1. Mac OSX

    苹果OSX操作系统

  2. HomeBrew

    软件库安装命令行

  3. python3.5
  4. virtualenv

    虚拟环境

  5. pip安装Numpy
  6. 安装Xcode

    直接从AppStore里面下载安装

  7. opencv3

除去最后一条的所有先决条件,由于比较简单而且中文资料丰富,本文就假设用户已经全部顺利完成了。本文的重点是最后的 opencv3 的部分。

注意:

  • 本文建立的基于python3.5的虚拟环境目录为 ~/py3venv/ ,在后续的编译阶段配置里面会用到。
  • 由于本文会涉及到很多在线安装部分,所以请读者先具备科学上网的技能

4   Opencv下载

由于opencv官方提供的是源码,所以需要用户下载下来并进行相应平台的编译。主要需要下载两个相关的仓库:

  • opencv.git

    opencv核心库

  • opencv_contrib.git

    opencv扩展模块

注意:

  • 必须两个都下载,因为后面的配置里面会用到的
  • 全部都切换到统一版本:3.0.0

    截至7月13日,最新tag号:3.0.1,但是本文并没有试验成功,而3.0.0是成功的

以下是相关的命令行。

下载 opencv.git 仓库 [2] :

$ cd ~
$ git clone https://github.com/Itseez/opencv.git
$ cd opencv
$ git checkout 3.0.0

下载 opencv_contrib.git 仓库 [2] :

$ cd ~
$ git clone https://github.com/Itseez/opencv_contrib
$ cd opencv_contrib
$ git checkout 3.0.0

注意:

  • 下载目录都在用户文件的根目录 ~
  • 此路径信息会在后续的编译配置里面用到

5   Opencv编译

在下载下来的opencv目录下面新建build目录 [2] :

$ cd ~/opencv
$ mkdir build
$ cd build

在build目录下面执行 cmake 命令:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON3_PACKAGES_PATH=~/py3venv/lib/python3.5/site-packages -D PYTHON3_LIBRARY=/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/libpython3.5m.dylib -D PYTHON3_INCLUDE_DIR=/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/include/python3.5m -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D BUILD_opencv_python3=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..

注意:

  • 这是MaOSX下python3.5虚拟环境的配置
  • 请认真对照每个路径在本电脑上是否正确
  • 本文对比参考资料进行了如下修改:INSTALL_C_EXAMPLES设置为OFF
  • 在续行符号后面另起的行前面都有 -D
  • 命令最后面的 .. 符号并不是省略号,而是命令行的一部分

在执行命令后,检查在shell中输出信息,以确认是否成功编译。

查看build列表 To be built 包含 python3 信息:

--   OpenCV modules:
--     To be built:                 hal core flann imgproc ml photo video imgcodecs shape videoio highgui objdetect superres ts features2d calib3d stitching videostab python3
--     Disabled:                    world
--     Disabled by dependency:      -

查看和 python3.5 相关联的设置信息:

--   Python 3:
--     Interpreter:                 /Users/harmo/py3venv/bin/python3 (ver 3.5.1)
--     Libraries:                   /usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/libpython3.5m.dylib (ver 3.5.1)
--     numpy:                       /Users/harmo/py3venv/lib/python3.5/site-packages/numpy/core/include (ver 1.11.1)
--     packages path:               /Users/harmo/py3venv/lib/python3.5/site-packages

查看shell输出的结尾成功信息:

-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/harmo/Downloads/opencv/build

如果cmake成功,在build目录会生成一系列文件:

(py3venv) ?  build git:(c12243c) ? ls
3rdparty                   Makefile                   bin                        doc                        opencv2
CMakeCache.txt             OpenCVConfig-version.cmake cmake_install.cmake        include                    osx
CMakeFiles                 OpenCVConfig.cmake         cmake_uninstall.cmake      junk                       samples
CPackConfig.cmake          OpenCVModules.cmake        cvconfig.h                 lib                        unix-install
CPackSourceConfig.cmake    apps                       data                       modules                    version_string.tmp

然后就可以编译 opencv 了,执行

make -j4

说明:如果想编译得更快速,可以修改命令中的数字 4 为你电脑的可用CPU核心数,来实现多核编译。

编译过程有点漫长,但好在shell中会有进度条提示,耐心等待几分钟即可。

6   编译常见问题

在cmake阶段,可能会出现一些异常提示,在此列出。

6.1   自检提示

在cmake的过程中,会遇到这样的异常提示:

-- Checking for module ‘gstreamer-base-1.0‘
--   No package ‘gstreamer-base-1.0‘ found
-- Checking for module ‘gstreamer-video-1.0‘
--   No package ‘gstreamer-video-1.0‘ found
-- Checking for module ‘gstreamer-app-1.0‘
--   No package ‘gstreamer-app-1.0‘ found
-- Checking for module ‘gstreamer-riff-1.0‘
--   No package ‘gstreamer-riff-1.0‘ found
-- Checking for module ‘gstreamer-pbutils-1.0‘
--   No package ‘gstreamer-pbutils-1.0‘ found

可以不用理会,是否安装成功,以前面提到的那样的python3.5字样为准。

6.2   ippicv文件

程序在执行到:

-- ICV: Downloading ippicv_macosx_20141027.tgz...
CMake Error at 3rdparty/ippicv/downloader.cmake:71 (file):
  file DOWNLOAD HASH mismatch

会提示下载的文件的hash值不对,然后中止执行。

参考另外一篇文章 [3] ,文中提出的解决方案如下:

需要这个文件然后覆盖过去。

wget http://www.mirrorservice.org/sites/dl.sourceforge.net/pub/sourceforge/o/op/opencvlibrary/3rdparty/ippicv/ippicv_macosx_20141027.tgz

将自己下载 ippicv_macosx_20141027.tgz 复制到 ~/opencv/3rdparty/ippicv/downloads/macosx-9662fe0694a67e59491a0dcc82fa26e0/ippicv_macosx_20141027.tgz 替换到旧的文件。

7   Opencv安装

如果在前面步骤中,成功编译,就可以开始安装了:

make install

如果提示权限问题,请执行:

sudo make install

如果没有任何问题,那么恭喜安装成功。

8   验证检查

在成功安装opencv后,需要进行一次 验证检查 操作。

检查虚拟环境 py3venv 中是否存在文件 cv2.so :

(py3venv) ?  py3venv pwd
/Users/harmo/py3venv
(py3venv) ?  py3venv cd lib/python3.5/site-packages
(py3venv) ?  site-packages ls -l|grep cv
-rwxr-xr-x    1 harmo  staff  2021204  7  7 18:11 cv2.cpython-35m-darwin.so
lrwxr-xr-x    1 harmo  staff       68  7  6 18:50 cv2.so -> /usr/local/Cellar/opencv3/3.1.0_3/lib/python2.7/site-packages/cv2.so

在 python3.5 中使用 opencv 相应的库文件:

(py3venv) ?  site-packages python
Python 3.5.1 (default, Jan 22 2016, 08:54:32)
[GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
‘3.0.0‘
>>>

如果走到这一步,最后恭喜你,你成功安装了opencv了。

安装opencv后可以做什么了?

各种图片处理,人脸识别,移动检测报警等等好玩的opencv的开箱即用的功能等着你去开发了,尽情享受和玩耍吧。

Enjoy it~!

9   本文小结

在完成环境搭建后,特意将正确的过程记录下来吧。一方面让自己今后再做类似的事情不再曲折,另外一方面也让有相同的需求的朋友少走点弯路吧,至少不用再花费几天的时间去查找各种资料和试错了。

10   参考资料

查找了很多资料,最具有参考价值的就是如下几篇,感谢原作者。

[1] Install OpenCV 3.0 and Python 2.7+ on OSX http://www.pyimagesearch.com/2015/06/15/install-opencv-3-0-and-python-2-7-on-osx/
[2] (1, 2, 3, 4) Install OpenCV 3.0 and Python 3.4+ on OSX http://www.pyimagesearch.com/2015/06/29/install-opencv-3-0-and-python-3-4-on-osx/
[3] ippicv_macosx_20141027.tgz问题 http://blog.csdn.net/alanzjl/article/details/47294751

作者: Harmo哈莫
作者介绍: https://zhengwh.github.io
技术博客: http://www.cnblogs.com/beer
Email: [email protected]
QQ: 1295351490
时间: 2016-02
版权声明: 欢迎以学习交流为目的读者随意转载,但是请 【注明出处】
支持本文: 如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】
时间: 2024-08-27 01:36:14

Mac-OSX的Python3.5虚拟环境下安装Opencv的相关文章

ubuntu下安装opencv 2.4.9 脚本,支持摄像头和cuda

1 arch=$(uname -m) 2 if [ "$arch" == "i686" -o "$arch" == "i386" -o "$arch" == "i486" -o "$arch" == "i586" ]; then 3 flag=1 4 else 5 flag=0 6 fi 7 echo "Installing OpenCV

cuda环境下安装opencv出现nvcc warning : The 'compute_11'

警告打印: nvcc warning : The 'compute_11', 'compute_12', 'compute_13', 'sm_11', 'sm_12', and 'sm_13' architectures are deprecated, and may be removed in a future release. 找到cmake后产生的OpencvConfig.cmake文件,找到如下代码: # Version Compute Capability from which Ope

VS 2012 下安装 opencv 2.4.9

VS 2012 下安装 opencv 2.4.9 2.1 环境准备 安装 Visual Studio 2012 下载 opencv 最新版本 2.2 安装 opencv 2.2.1. 双击下载的 OpenCV-2.x.x.exe. 选择你想解压到的位置. 2.2.2. 设置环境变量. 步骤一, 打开环境变量设置界面. 方法一:  开始 –> 控制面板 –> 系统和安全 –> 系统 –> 高级系统设置 –> 高级 –> 环境变量 方法二: 开始 –> 控制面板, 右

Ubuntu 12.04下安装OpenCV 2.4.5总结

> 系统配置:Ubuntu 12.04 安装步骤: 1.官网下载OpenCV2.4.5  http://opencv.org/ 解压到home/用户名/opencv2.4.5 2.安装cmake $sudo apt-get install cmake 3.编译opencv (1)在刚才opencv的解压目录下新建build文件夹 $cd ~/opencv2.4.5 $mkdir build $cd build $cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE

ubuntu16.04下安装opencv出现libgtk2.0-dev配置失败问题解决方法

第一次在ubuntu下安装opencv,遇到很多问题,特别是libgtk2.0-dev总是配置失败的问题,在网上也看到一些解决方法,自己也遇到一些比较奇葩的问题,故整理于此. 网上大部分的解决方案就是更改下载源,我看到一些比较多的命令行更改源的方法,这里分享一下在界面上直接操作的方法: 1.右上角选择系统设置 2.在系统设置中选择软件及更新 3.系统最开始默认的下载服务器是美国服务器,我这里更改为了中国的服务器,也可以选择其他站点. 4.点击其他站点会出现很多服务器选项,国内一般选择阿里云服务器

在mac osX下安装openCV,used for python

OpenCV是个开源的图像处理库,里面的内容多多. 想了解很多其它,请自行百度咯~ 篇blog是记录在mac下.安装openCV.然后使用python来引用openCV库. 环境是: Python 2.7.5 贪图方便,使用的是brew来安装openCV,brew是一个包管理器,非常好用,类似于ubantu的apt-get. 假设没有安装的话,能够看这里http://brew.sh/index_zh-cn.html 然后使用以下的命令: brew tap homebrew/science bre

mac osx 下安装opencv

1.安装homebrew 网上方法很多,自行搜索 2.安装cmake sudo brew install cmake 3.下载opencv源代码 wget https://github.com/Itseez/opencv/archive/2.4.13.zip 4.解压安装 unzip 2.4.13.zip cd opencv-2.4.13/ mkdir build cd build/ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFI

Mac OSX 10.9.5, PHP5.4 安装 memcached

Mac安装memcached Mac安装memcached 安装环境 Mac OSX 10.9.5 Mavericks PHP5.4 使用 homebrew 安装过程 首先使用通过brew寻找需要安装的相关软件 brew install memcached 结构为 libmemcached  php53-memcached  php55-memcached memcached     php54-memcached   php56-memcached 然后依次安装 brew install me

【python3】——centos7下安装

centos7下安装python3总步骤分三步: 一.依赖解决: 1.安装依赖包: yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make lrzsz libffi-devel -y 二.下载解压安装python3: 2.下载python3 wget https://www.python.org/ftp/python/3.7.3/Pyt