最近一个java的项目需要用到opencv的一些库,网上没有比较齐全的OSX 10.10 Yosemite安装opencv教程,所以这里写下安装过程仅供参考。
其实在OSX or Linux安装opencv并不难,关键是找不到jar包(或者cmake没有生成jar包)。
1.确保下载安装JDK
我装的是jdk-8u25-macosx-x64.dmg
2.下载解压OpenCV for Mac/Linux
下载后双击解压,我下载的是opencv-2.4.9.zip
3.下载安装Ant
Ant是基于Java的打包工具(类似于Make),OSX较高版本系统没有预装Ant。
如果没有安装Ant,下几步在cmake后终端Terminal中会看见如下输出:
-- Java:
-- ant: NO
-- JNI: /System/Library/Frameworks/JavaVM.framework/Headers
/System/Library/Frameworks/JavaVM.framework/Headers
/System/Library/Frameworks/JavaVM.framework/Headers
-- Java tests: NO
没有找到Ant工具时,make不会生成.jar文件。
下载Ant:ant-1.9.4,下载完成后解压,将解压后的文件夹移动到/usr/local目录下:
$ mv apache-ant-1.9.4 /usr/local
添加环境变量:
$ cd /usr/local
$ ln -s ./apache-ant-1.9.3 ant
$ export ANT_HOME="/usr/local/ant"
$ export PATH=$PATH:$ANT_HOME/bin
至此Ant安装完成,运行以下命令可以检测Ant并查看版本信息:
$ ant -version
Apache Ant(TM) version 1.9.4 compiled on April 29 2014
4.下载安装MacPorts或HomeBrew
MacPorts和HomeBrew是OSX上常用的软件包管理软件,类似于Linux的apt。
我安装的是macports,MacPorts-2.3.2-10.10-Yosemite.pkg,有安装器比较简单。
我尝试$ sudo port install ant或$ port search ant但没有找到,不然第3步都是全自动的。事实上看见stackoverflow上有人讲HomeBrew可以直接安装ant($ sudo brew ant)
5.安装cmake
$ sudo port install cmake
6.make opencv
在opencv-2.4.9目录下新建一个build目录
$ mkdir build
$ cd build
cmake
$ cmake -DBUILD_SHARED_LIBS=OFF ..
终端中可以找到如下输出:
-- Java:
-- ant: /usr/local/ant/bin/ant (ver 1.9.4)
-- JNI: /System/Library/Frameworks/JavaVM.framework/Headers /System/Library/Frameworks/JavaVM.framework/Headers /System/Library/Frameworks/JavaVM.framework/Headers
-- Java tests: YES
最后一步,make:
$ make -j8
在/opencv-2.4.9/build/bin可以找到jar包文件:
$ cd build/bin
$ ls
opencv-249.jar opencv_test_calib3d
opencv-249.jar.dephelper opencv_test_contrib
opencv_createsamples opencv_test_core
opencv_haartraining opencv_test_features2d
opencv_perf_calib3d opencv_test_flann
opencv_perf_core opencv_test_gpu
opencv_perf_features2d opencv_test_highgui
opencv_perf_gpu opencv_test_imgproc
opencv_perf_highgui opencv_test_legacy
opencv_perf_imgproc opencv_test_ml
opencv_perf_nonfree opencv_test_nonfree
opencv_perf_objdetect opencv_test_objdetect
opencv_perf_ocl opencv_test_ocl
opencv_perf_photo opencv_test_photo
opencv_perf_stitching opencv_test_stitching
opencv_perf_superres opencv_test_superres
opencv_perf_video opencv_test_video
opencv_performance opencv_traincascade
7.opencv在Eclipse中的使用方法
8.最后
偶然在stackoverflow看见一条comment:One of the easiest solution to install OpenCV is to use HomeBrew.
嗯...学校网速太烂HomeBrew我是下不下来==