小白一枚,配置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
显示图片测试代码
- import cv2
- img = cv2.imread("***.jpg")
- cv2.namedWindow("Image")
- cv2.imshow("Image", img)
- cv2.waitKey (0)
- cv2.destroyAllWindows()
中途出现问题也正常,我在无头绪的时候暴力重装三次系统,祝好运。
更新因为在对视频的处理时,都是null,所以重现装了一遍
先uninstall opencv and python
And follow this tutorialEasy way