opencv3.2.0在Mac上面编译成jar

网上查了一堆的资料,发现你们主要有三种方式在Mac上面编译opencv的jar:html

  • 使用brew编译
  • 使用cmake手动编译
  • 使用maven编译(相似手动) brew编译没有成功,另外两种都成功了。

brew编译

检查XCode Command Line Tools

xcode-select --install

homebrew安装opencv3

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缓存路径,将下载的文件放入缓存目录;

最后brew编译失败放弃

手动cmake编译

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

使用maven编译(官方方法)

解压后在opecv-3.2.0的文件夹中找到platforms→maven→README.md文件,我主要是参考这里的方法进行编译的。github

准备

须要配置:shell

  • $JAVA_HOME
  • $ANT_HOME
  • $MAKEFLAGS=-j8
  • 须要安装maven

maven编译

mvn clean install

###遇到一些问题:windows

找不到cmake-mave-plugin 3.4.1-b2-SNAPSHOT的maven插件的问题

找到platforms/maven/pom.xml文件,修改成以下:xcode

<groupId>com.googlecode.cmake-maven-project</groupId>
<artifactId>cmake-maven-plugin</artifactId>
<version>3.4.1-b2</version>

Mac上面没有安装dpkg

brew install dpkg

maven检查找不到cmake,git,ant等命令,我明明已经安装了

找到上面的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文件

建立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

相关文章
相关标签/搜索