一、源码编译安装
1.1、下载源码包
官网下载opencv包:https://opencv.org/releases/
以4.6.0为例,下载解压后:
cd opencv-4.6.0
mkdir build && cd build
1.2、cmake安装
sudo cmake -D BUILD_opencv_java=ON -D BUILD_SHARED_LIBS=OFF ..
sudo make -j8
sudo make install
1.3、java配置
添加jar包:
启动程序要配置本地opencv库的地址:
-Djava.library.path=/usr/local/opencv/share/java/opencv4/
如果你这样操作没有效果,代码可以这样写:
static {
System.load("/usr/local/opencv/share/java/opencv4/libopencv_java4100.dylib");
}
1.4、测试
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
public class TestOpenCV {
public static void main(String[] args) {
// 使用 System.load 来加载具体路径下的库文件
System.load("/usr/local/opencv/share/java/opencv4/libopencv_java4100.dylib");
System.out.println("Loaded OpenCV version " + Core.VERSION);
Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.printf("mat = %s ", mat.dump());
}
}
如果输出了下列信息,则表示成功!
Loaded OpenCV version 4.10.0
mat = [ 1, 0, 0;
0, 1, 0;
0, 0, 1]
二、Maven引入
2.1、添加Maven依赖
OpenCV 官方提供了预编译的 Java 绑定,可以通过 Maven 直接引入。
<dependency>
<groupId>org.openpnp</groupId>
<artifactId>opencv</artifactId>
<version>4.6.0-0</version> <!-- 4.6.0 版本 -->
</dependency>
2.2、加载本地库
使用 opencv-java 提供的工具类自动加载:
import nu.pattern.OpenCV;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
public class HelloOpenCV {
static {
OpenCV.loadLocally(); // 自动下载并加载本地库
}
public static void main(String[] args) {
Mat m = Mat.zeros(2, 3, CvType.CV_8UC1);
System.out.println(m.dump());
}
}
[ 0, 0, 0;
0, 0, 0]