网上查了一堆的资料,发现你们主要有三种方式在Mac上面编译opencv的jar:html
xcode-select --install
brew tap homebrew/science brew install opencv3 --HEAD --c++11 --with-ffmpeg --with-contrib --with-java
homebrew小知识:java
brew [un]tap <github_userid/repo_name> #添加或者删除仓库 brew info <formula> #查看这个包的信息,从中咱们能够得知有哪些选项可选。 #示例 brew install opencv3 --HEAD --c++11 --with-ffmpeg --with-contrib --with-java brew --cache #获取brew缓存路径,将下载的文件放入缓存目录;
unzip opencv-3.2.0.zip cd opencv-3.2.0 mkdir build cd build
使用cmake生成MAKEFILEpython
cmake -DBUILD_SHARED_LIBS=OFF ..
开始编译linux
make -j8
这里使用8个核进行编译,听说这样能够缩短编译时间。mac在活动监视器.app→菜单栏【窗口】→CPU使用率,就能够查看本身的mac有几个cpu核心了,更多请阅读OS X:在四核以上系统中,活动监视器会显示一个 CPU 使用图。 编译完成后能够在build文件下面发现以下文件:c++
bin/opencv-3.2.0.jar lib/libopencv_java320.so # linux环境生成的本地动态库so文件 lib/libopencv_java320.dll # windows环境生成的本地动态库dll文件 lib/libopencv_java320.dylib # mac环境生成的本地动态库dylib文件
注意:如今是在mac环境下面编译,故只生成了dylib文件。git
解压后在opecv-3.2.0的文件夹中找到platforms→maven→README.md文件,我主要是参考这里的方法进行编译的。github
须要配置:shell
mvn clean install
###遇到一些问题:windows
找到platforms/maven/pom.xml文件,修改成以下:xcode
<groupId>com.googlecode.cmake-maven-project</groupId> <artifactId>cmake-maven-plugin</artifactId> <version>3.4.1-b2</version>
brew install dpkg
找到上面的pom.xml文件,注解掉以下:
<!-- <argument>build-essential</argument> <argument>cmake</argument> <argument>git</argument> <argument>libgtk2.0-dev</argument> <argument>pkg-config</argument> <argument>libavcodec-dev</argument> <argument>libavformat-dev</argument> <argument>libswscale-dev</argument> <argument>python-dev</argument> <argument>python-numpy</argument> <argument>libtbb2</argument> <argument>libtbb-dev</argument> <argument>libjpeg-dev</argument> <argument>libpng12-dev</argument> <argument>libtiff5-dev</argument> <argument>libjasper-dev</argument> <argument>libdc1394-22-dev</argument> <argument>ant</argument> -->
建立libopencv_java320.so软链接,链接到libopencv_java320.dylib文件上面去,找到目录
cd build/lib/ ln -s libopencv_java320.dylib libopencv_java320.so #再使用maven编译,但不要clean了 mvn install
以上就是三种编译opencv的方式,brew的方式我没有成功,后面两种我都成功编译了。 Github上面我模仿作了一个事例代码。
参考: Introduction to Java Developmen Installing OpenCV for Java Day 12: OpenCV — Face Detection for Java Developers Core.rectangle returns can not resolve method error in openCv 3.0 HighGUI is missing from OpenCV 3.0.0 JAR