配置环境python和opencv基于MacOS

 小白一枚,配置python和OpenCV真的有点玄学。

这是重要教程 macOS: Install OpenCV 3 and Python 2.7

外国友人在我不知头绪的情况下帮了大忙,如果运气好一次就能成功,下面我就各个部分调试时可能遇到的坑进行排坑。

我的配置macOS Sierra(10.12.3),python(2.7.13),OpenCV3.2,找个网速好的地方。

只会用到一些初级终端命令Mac OS X Terminal 101:终端使用初级教程

打开终端

第一步 install Xcode

1. 从appstore下载安装

2. 接受苹果开发者的许可证

sudo xcodebuild -license

3. 安装苹果命令工具

sudo xcode-select --install

 

第二步 安装Homebrew

1. 官网Homebrew 

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2. 更新 

brew update

3. 配置环境变量

打开nano或者vim

nano ~/.bash_profile

将以下代码输入nano或vim,

# Homebrew

export PATH=/usr/local/bin:$PATH

接着control+o保存,control+x退出

 source ~/.bash_profile 

 

第三步 通过Homebrew安装python

1. brew install python

教程中的brew linkapps python可能是版本更新的问题返回不成功,可以按照终端提示尝试 

2. which python

如果返回/usr/local/bin/python既是表明python安装成功,而如果返回/usr/bin/python即安装不成功,此时的python还是系统内置的python

 

第四步 安装virtualenv,virtualenvwrapper,Numpy三大python必要包

1. 安装virtualenv,virtualenvwrapper

 pip install virtualenv virtualenvwrapper

同上打开nano

nano ~/.bash_profile

输入代码在nano中 # Virtualenv/VirtualenvWrapper

source /usr/local/bin/virtualenvwrapper.sh

control+o保存control+x退出

 

source ~/.bash_profile

2. 创建python虚拟环境

mkvirtualenv c

3. 进入虚拟环境

workon c

这个时候你就能看见shell左上角有你的虚拟环境的名称c,以下步骤均在虚拟环境下运行

4. 安装numpy包

pip install numpy

 

第五步 安装opencv先决条件用Homebrew

brew install cmake pkg-config

brew install jpeg libpng libtiff openexr

brew install eigen tbb

 

第六步 下载OpenCV3的资源通过GitHub

cd

git clone https://github.com/opencv/opencv

git clone https://github.com/opencv/opencv_contrib

 

第七步 配置OpenCV3和python通过CMake

1. 进入opencv

cd ~/opencv

2. 创建build文件

mkdir build

3. 进入build

cd build

4. 输入cmake指令

cmake的标准格式跟教程不太一样,我改进了些,YYY和ZZZ是你需要获得的

 

cmake -D CMAKE_BUILD_TYPE=RELEASE \

-D CMAKE_INSTALL_PREFIX=/usr/local \

-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \

-D PYTHON2_LIBRARY=YYY \

-D PYTHON_LIBRARY=$(python-config -prefix)YYY\

-D PYTHON2_INCLUDE_DIR=ZZZ \

-D PYTHON_INCLUDE_DIR=$(python-config -prefix)/include/python2.7/\

-D PYTHON2_EXECUTABLE=$VIRTUAL_ENV/bin/python \

-D BUILD_opencv_python2=ON \

-D BUILD_opencv_python3=OFF \

-D INSTALL_PYTHON_EXAMPLES=ON \

-D INSTALL_C_EXAMPLES=OFF \

-D BUILD_EXAMPLES=ON ..

 

4.1 获得YYY

ls /usr/local/Cellar/python/2.7.*/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib

shell返回的是YYY

4.2 获得ZZZ

ls -d /usr/local/Cellar/python/2.7.*/Frameworks/Python.framework/Versions/2.7/include/python2.7/

shell返回的是ZZZ

4.3 将YYY和ZZZ输入cmake指令于shell

如果你得到的

 

 

Interpreter的路径在你的虚拟环境里

Libraries的路径是上述YYY的路径

numpy的路径在虚拟环境里

如果正确往下进行,反之进入opencv删除build,然后重建build重新输入cmake指令

 

 

第八步 编译和安装OpenCV

make -j4

如果结果无错误,即往下进行

而我的错误是

 

 

解决方案

1.在文件Finder中输入/System/Library/Frameworks/Python.framework/Headers/Python.h

查看是否存在Python.h,以上步骤不出意外会存在。

2.同上打开nano,将下面的代码输入,并保存和退出

export C_INCLUDE_PATH=/System/Library/Frameworks/Python.framework/Headers

control+o保存control+x退出

source ~/.bash_profile

3.接着执行make -j4指令

100%成功后

sudo make install

 

 

 

第九步 连接OpenCV和python

cd /usr/local/lib/python2.7/site-packages/

ls -l cv2.so

cd ~/.virtualenvs/cv/lib/python2.7/site-packages/

ln -s /usr/local/lib/python2.7/site-packages/cv2.so cv2.so

cd

workon cv

python

 

 

 

 

 

 

显示图片测试代码

  1. import cv2     
  2. img = cv2.imread("***.jpg")   
  3. cv2.namedWindow("Image")   
  4. cv2.imshow("Image", img)   
  5. cv2.waitKey (0)  
  6. cv2.destroyAllWindows() 

中途出现问题也正常,我在无头绪的时候暴力重装三次系统,祝好运。

 

更新因为在对视频的处理时,都是null,所以重现装了一遍

先uninstall opencv and python

And follow this tutorialEasy way

posted on 2017-04-01 18:07  AlexGui  阅读(503)  评论(0编辑  收藏  举报

导航