網上查了一堆的資料,發現你們主要有三種方式在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