热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

人脸识别(1)--Python3.6+OpenCV3.2在Mac下环境搭建

  现在越来越多的地方需要用到智能识别,这里先介绍一种简单的框人脸方式环境。python安装搭建python虚拟环境安装ope

  现在越来越多的地方需要用到智能识别,这里先介绍一种简单的框人脸方式环境。

    • python安装
    • 搭建python虚拟环境
    • 安装openVC的先决条件
    • 编译openVC环境
    • 安装验证

python安装

从官网上下载最新版本的python,这里我选择了dmg文件,直接双击进行安装。
python官网;https://www.python.org/downloads/mac-osx/

之后需要更新一下PATH路径:
打开cmd,在~/.bash_profile中添加(如果不存在进行添加)

$ vim ~/.bash_profile
export PATH=/usr/local/bin:$PATH

然后重新加载~/.bash_profile,保证更新成功

$ source ~/.bash_profile

确认python安装成功

$ which python3
/usr/local/bin/python
$ python3 –version
Python 3.6.1

搭建python虚拟环境

虽然虚拟环境不是必须的步骤,但是鉴于我们可能用电脑开发很多不同的项目,所以强烈建议新建一个虚拟环境用于python的opencv开发。

首先,安装虚拟环境 virtualenv 和 virtualenvwrapper。

pip3 install virtualenv virtualenvwrapper

这个虚拟环境是在python环境中都可以用的。这里我们更新~/.bash_profile 的设置。

#Virtualenv/VirtualenvWrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

然后重新加载.bash_profile:

$ source ~/.bash_profile

现在我们创建一个cv3的虚拟环境进行开发,便于安装一些这个项目需要的额外的包,并进行图片处理。

$ mkvirtualenv cv3 -p python3

在 mkvirtualenv 之后会自动进入cv3环境,但如果是已经存在这个环境,想再次进入环境的话,用worken

$ workon cv3

可以进入cv3环境。
在这个虚拟环境中,我们需要安装numpy(python的先决条件)

$ pip install numpy

安装openVC的先决条件

为了编译openVC,需要安装一些开发工具:

$ brew install cmake pkg-config

同时下载一些用于各种图片格式读取的包:

$ brew install jpeg libpng libtiff openexr

以及另外一些包用于优化openVC程序:

$ brew install eigen tbb

编译openVC环境

从Github上下载openVC源码(可以从官网上选择最新的版本进行检出):
注: Github地址:https://github.com/opencv/opencv

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

之后,我们需要下载opencv_contrib包,为OpenCV提供一些额外的支持,像内容检测等(这里我们选择和OpenCV相同的版本进行下载)

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

在下载完成后,创建build文件夹:

$ cd ~/opencv
$ mkdir build
$ cd build

使用CMake进行build:
注:这里要确认OpenCV和python3模块都加载完成。

$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
     -D CMAKE_INSTALL_PREFIX=/usr/local \
     -D PYTHON3_PACKAGES_PATH=~/.virtualenvs/cv3/lib/python3.4/site-packages \
     -D PYTHON3_LIBRARY=/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/libpython3.4m.dylib \
     -D PYTHON3_INCLUDE_DIR=/usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/include/python3.4m \
     -D INSTALL_C_EXAMPLES=ON \
     -D INSTALL_PYTHON_EXAMPLES=ON \
     -D BUILD_EXAMPLES=ON \
     -D BUILD_opencv_python3=ON \
     -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..

当CMake完成并且不报错之后,开始进行编译:

$ make -j4
$ make install

若权限不足,则使用下面语句:

$ make -j4
$ sudo make install

安装验证

验证cv2.so正确:

$ cd ~/.virtualenvs/cv3/lib/python3.4/site-packages/
$ ls -l cv2.so
-rwxr-xr-x 1 admin _developer 2017027 April 14 06:11 cv2.so

验证python中可以使用opencv包,import不报错:

(cv3)74-80-245-164:~ admin$ python3
Python 3.6.1 (default, April 14 2017, 05:23:16)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import cv2

参考文档:https://www.pyimagesearch.com/2015/06/29/install-opencv-3-0-and-python-3-4-on-osx/


推荐阅读
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • 1、打开etcsysconfiggrub,   #vimetcsysconfiggrub   内容如下: ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • PHP反射API的功能和用途详解
    本文详细介绍了PHP反射API的功能和用途,包括动态获取信息和调用对象方法的功能,以及自动加载插件、生成文档、扩充PHP语言等用途。通过反射API,可以获取类的元数据,创建类的实例,调用方法,传递参数,动态调用类的静态方法等。PHP反射API是一种内建的OOP技术扩展,通过使用Reflection、ReflectionClass和ReflectionMethod等类,可以帮助我们分析其他类、接口、方法、属性和扩展。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
  • 在加载一个第三方厂商的dll文件时,提示“找不到指定模块,加载失败”。由于缺乏必要的技术支持,百思不得期间。后来发现一个有用的工具 ... [详细]
  • 其实之前也有下载过完整的android源码,但是从来没有对这个做过一些总结,在加上最近需要经常去看,索性就在从新下载,编译一下,其实这些东西官网上面都有。http:sou ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 部署Maven环境
    JDK:在maven3.3以上的版本需要JDK版本1.7,内存:没有最低限制。磁盘:1G可用磁盘空间。操作系统: ... [详细]
author-avatar
lanxians
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有