设为首页 收藏本站
查看: 1219|回复: 0

[经验分享] Mac-OSX的Python3.5虚拟环境下安装Opencv

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-7-6 13:59:22 | 显示全部楼层 |阅读模式
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   安装步骤


  • Mac OSX
    苹果OSX操作系统

  • HomeBrew
    软件库安装命令行


  • python3.5

  • virtualenv
    虚拟环境


  • pip安装Numpy

  • 安装Xcode
    直接从AppStore里面下载安装


  • 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:
dreamzsm@gmail.com

QQ:
1295351490

时间:
2016-02

版权声明:
欢迎以学习交流为目的读者随意转载,但是请 【注明出处】

支持本文:
如果文章对您有启发,可以点击博客右下角的按钮进行 【推荐】

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-390998-1-1.html 上篇帖子: Mac上使用oh-my-zsh+iterm2 下篇帖子: HHKB MAC 配置指南 操作指南 快捷键
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表