Open CV
是一个开源的计算机视觉和机器学习软件库,它提供了一系列的工具和程序库,让用户能够进行复杂的图像处理和计算机视觉任务。在Java中使用OpenCV涉及到环境初始化和动态库加载。以下是一些基本步骤和方法来设置OpenCV环境并在Java中加载相关的动态库。
官网
https://opencv.org/releases/page/2/
https://nchc.dl.sourceforge.net/project/opencvlibrary/4.4.0/opencv-4.4.0-vc14_vc15.exe
双击安装选择安装目录等待安装完毕,jar包就在以下目录
D:\Program Files\opencv4.4\opencv\build\java
opencv-4.4.0.jar
包将OpenCV jar(例如 opencv-xxx.jar)添加到项目的类路径中。
如果你使用的是构建系统(如Maven或Gradle),需要确保适当的依赖项已经配置在你的构建文件中。
mavn-init.cmd
是一个批处理脚本,可以把jar包装载到本地maven仓库
@echo off
chcp 65001
echo ****************************************
echo 安装SDK依赖包到本地maven仓库
echo ****************************************
call mvn install:install-file -DgroupId=org -DartifactId=opencv -Dversion=4.4.0 -Dpackaging=jar -Dfile=opencv-4.4.0.jar
pause
maven引入本地仓库的opencv-4.4.0.jar
包
org
opencv
compile
4.4.0
opencv_java440.dll
:关于动态库加载的讲解可以看我的另一篇文章
Java中加载本地库的方法:System.load与System.loadLibrary
这里我们简单介绍,实际使用自主选择
添加OpenCV_DIR环境变量,指向OpenCV的安装目录或构建目录中的某个文件夹,通常是build/java或build/bin。
将OpenCV的bin目录(其中包含DLL文件)添加到系统的PATH环境变量中,以便系统可以找到OpenCV的动态链接库。
在Java中加载OpenCV的动态库通常涉及到System.loadLibrary方法。以下是加载OpenCV动态库的步骤:
public class ImageBlur {
static {
// 加载 OpenCV 的本地库
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
}
调用System.loadLibrary(Core.NATIVE_LIBRARY_NAME)来加载OpenCV的动态库。Core.NATIVE_LIBRARY_NAME会解析为在当前平台上对应的动态库名称,例如,在Windows上通常是opencv_javaxxx,其中xxx是库的版本号。
java
public class ImageBlur {
static {
// 加载 OpenCV 的本地库
System.load("D:/WORK/WORK_PLUS/aiface-plus-dev/runner/target/classes/dll/x64/opencv_java440.dll");
}
}
为了验证OpenCV库是否正确加载,你可以尝试调用一些基础的OpenCV函数,如创建一个简单的矩阵,并打印它来确保一切正常。
public static void main(String[] args) {
Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println("mat = " + mat.dump());
}
在使用IDE(如IntelliJ IDEA或Eclipse)时,通常有助于使用IDE的工具和功能来简化库的添加和管理过程。
以上步骤和方法为在Java环境中初始化OpenCV及加载其动态库提供了基本的指南,具体细节可能根据OpenCV的不同版本、操作系统或项目配置而有所不同。
以上完成基本的opencv环境配置后就可以愉快的使用了