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

Posted 数据挖掘与机器学习算法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人脸识别--Python3.6+OpenCV3.2在Mac下环境搭建相关的知识,希望对你有一定的参考价值。




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


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


搭建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源码(可以从官网上选择最新的版本进行检出): 


$ 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




以上是关于人脸识别--Python3.6+OpenCV3.2在Mac下环境搭建的主要内容,如果未能解决你的问题,请参考以下文章

人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物

人脸识别源码运行指南

Python人脸识别慢

人脸检测和识别(中文标记)完整项目源代码(基于深度学习+python3.6+dlib+PIL+CNN+(tensorflowkeras)10分钟实现 区分欢乐颂中人物详细图文教程和完整项目代码)

Python+OpenCV人脸识别(基于LBPH+防照片识别+警报)

Python 人脸识别 OpenCV (haarcascades)