在我的上一篇文章“Ubuntu 16.04配置OpenCV 3.1.0 for Java”中已经介绍了Linux下OpenCV的安装配置方法,见 http://www.linuxidc.com/Linux/2016-05/131609.htm,在这里仅仅记录Mac上相对于Linux的一点点差异。
1. 安装依赖包
Mac上安装软件包使用的工具是brew,用此来替代Ubuntu中的apt-get即可。另外,Mac下有些包可能与Linux下的不同,因此需要重新寻找替代的解决方案,下面是我安装的相关的包。
brew install gcc git cmake pkg-config ffmpeg libgphoto2 libav libjpeg libpng libtiff libdc1394 ant
2. 下载IPP源码包
在Mac上,需要下载ippicv_macosx_20151201.tgz这个包,这个OpenCV3.1需要的ippicv_macosx_20151201.tgz包下载地址:
到Linux公社1号FTP服务器下载
——————————————分割线——————————————
FTP地址:ftp://ftp1.linuxidc.com
用户名:ftp1.linuxidc.com
密码:www.linuxidc.com
在 2016年LinuxIDC.com\5月\Mac OS X安装OpenCV 3.1.0\
下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm
——————————————分割线——————————————
我选用的解决方案是将这个编译选项关闭,只需要在执行cmake命令时多添加一个选项:
cmake -DWITH_IPP=OFF
3. 修改库文件后缀
注意一点,在使用make install安装库文件的时候,我们在/usr/local/share/OpenCV/java目录下看到的动态链接库文件为libopencv_java310.so,然而Mac OS上面需要使用后缀为dylib的文件,否则会提示如下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java310 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at org.opencv.mytest.Sample.<clinit>(Sample.java:6)
要解决这个问题,只需要将原有的so文件复制一份以dylib为后缀的即可:
sudo cp libopencv_java310.so libopencv_java310.dylib
注:其他的工作就和上一篇文章中介绍的一样来,不再赘述。
OpenCV官方教程中文版(For Python) PDF http://www.linuxidc.com/Linux/2015-08/121400.htm
Ubuntu Linux下安装OpenCV2.4.1所需包 http://www.linuxidc.com/Linux/2012-08/68184.htm
Ubuntu 12.04 安装 OpenCV2.4.2 http://www.linuxidc.com/Linux/2012-09/70158.htm
CentOS下OpenCV无法读取视频文件 http://www.linuxidc.com/Linux/2011-07/39295.htm
Ubuntu 12.04下安装OpenCV 2.4.5总结 http://www.linuxidc.com/Linux/2013-06/86704.htm
Ubuntu 10.04中安装OpenCv2.1九步曲 http://www.linuxidc.com/Linux/2010-09/28678.htm
基于QT和OpenCV的人脸识别系统 http://www.linuxidc.com/Linux/2011-11/47806.htm
[翻译]Ubuntu 14.04, 13.10 下安装 OpenCV 2.4.9 http://www.linuxidc.com/Linux/2014-12/110045.htm
OpenCV的详细介绍:请点这里
OpenCV的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-05/131611.htm