OpenCV MacOS源码安装

在Mac上折腾了一天的OpenCV源码安装,记录一下备忘

正常的步骤:

按照说明文档,下载源码,解压,进入目录

mkdir release

cd release

cmake -D BUILD_TESTS=OFF ..

make -j8

sudo make install

使用cmake生成配置文件的时候可以看一下log,一些依赖包类似libjpeg,libpng等等最好先安装上,最简单的方法就是使用MacPorts来安装,方便管理,以后卸载也容易

看起来过程很简单,但是装完了之后。。。c++很好使,但是python功能使用不了

查看了一下,编译python支持的开关变量为BUILD_NEW_PYTHON_SUPPORT=ON,默认为开启的,应该没有什么问题,上网搜了一下原因,原来是要把cv2.so的路径加入到PYTHONPATH,默认情况下cv2.so文件被安装在/usr/local/lib/python2.7/site-packages,这个值是CMakeCache.txt文件中定义的CMAKE_INSTALL_PREFIX和PYTHON_PACKAGES_PATH这两个变量定义的,具体可查看CMakeCache.txt文件,当然这个值可随意修改,建议保留默认。

在/etc/profile或者~/.bash_profile文件中设置PYTHONPATH环境变量:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

于是进入python交互式命令行,导入cv2,能导入,但是出现segmentation fault异常。。。额。。郁闷。。

继续google,找到原因,大概意思是python的环境配置得有问题

在CMakeCache.txt文件中,有两个变量会影响到python模块的编译,分别为PYTHON_INCLUDE_DIR和PYTHON_LIBRARY

其中PYTHON_LIBRARY指向你libpython2.7.dylib路径,一般为/usr/lib/libpython2.7.dylib(版本号可变化),具体路径适你的python安装情况而定,PYTHON_INCLUDE_DIR指向你的python安装路径的include目录,例如我用macports安装的python2.7,这个路径为/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7

这两个变量必须正确设置才能正常使用cv2.so的功能,可以直接修改CMakeCache.txt的内容,或者在CMakeCache.txt文件目录下使用命令 'ccmake .',就可交互式编辑。

本来opencv会自动设置这两个变量,一般情况下不需要自己设置,不会出错,但是我的Mac上安装了很多版本的python,系统自带的,macports安装的。。。。各种混乱,搞了半天,一气之下,我把系统自带的python库,运行文件,安装文件都删了,只留下了macports,然后正确设置了编译变量,再编译,安装,使用cv2模块,正常,哈哈

开始进入opencv的世界尽情畅游吧!

转载于:https://my.oschina.net/redhouse/blog/71178

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值