在Mac 上安装opencv和python
在Mac系统上安装OpenCV库时需解决多个Python版本冲突的问题。首先使用MacPorts包管理器安装cmake编译工具和numpy数值库,然后下载OpenCV源码进行编译。修改CMakeCache.txt配置文件中的Python路径使其指向MacPorts安装的Python解释器,接着执行makeinstall命令生成cv2.so动态链接库,最后配置
折腾了挺久,总算是搞定了。说到底,问题的根儿在于Mac上装了不止一个版本的Python,互相打架,搞得OpenCV不知道该认谁。

好,言归正传,直接说安装步骤。
第一步,利用MacPorts安装cmake和numpy。这一步会顺带把Python也给装上,省心。
第二步,去官网下载OpenCV的源码包,解压之后,执行下面这段:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..
接下来是关键——修改CMakeCache.txt,把下面三行的路径指向MacPorts安装的那个Python,而不是系统自带的:
//Path to a program.
PYTHON_EXECUTABLE:FILEPATH=/opt/local/bin/python2.7
//Path to a file.
PYTHON_INCLUDE_DIR:PATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
//Path to a library.
PYTHON_LIBRARY:FILEPATH=/opt/local/lib/libpython2.7.dylib
搞定之后,接着跑:
sudo make
sudo make install
这时候,去/usr/local/lib/python2.7/site-packages/路径下瞅一眼,应该能看到cv2.so已经生成出来了。
最后一步,修改~/.profile:
vi ~/.profile
在文件末尾追加一行:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages/
然后执行:
source ~/.pro
到这里,环境变量就生效了,Cython也认得OpenCV了。再跑个测试试试看——搞定。

































