1. 下載opencv庫文件
opencv官網:https://opencv.org/releases/
下載官網提供的安裝包,解壓后得到opencv的動態庫和各種語言的中間庫。進入opencv\build\java
目錄,找到opencv-450.jar
和x64\opencv_java450.dll
,這是我們需要的庫文件。
Java如何調用C++動態庫?https://www.jianshu.com/p/a78863ef48f5
2. opencv添加到項目
-
將
opencv-450.jar
復制到項目的lib目錄下,並執行AddAsLibrary
。 -
build.gradle
文件的dependencies中添加:compile fileTree(dir:'lib',includes:['*jar'])
Gradle如何引入本地Jar包?https://blog.csdn.net/m1213642578/article/details/52763130
-
在Jvm參數中指定動態庫位置
動態庫放哪兒都可以,只要在jvm參數中指明庫在哪兒就行了。這里我將
opencv_java450.dll
拷貝到了項目目錄的dlls
目錄。-Djava.library.path=dlls
如何添加 jvm啟動參數?https://www.cnblogs.com/alsodzy/p/10191305.html
3. 測試
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
public class Main {
public static void main(String[] args) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println("mat = " + mat.dump());
}
}
結果:
mat = [ 1, 0, 0;
0, 1, 0;
0, 0, 1]