一、OpenCV 是什么?
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库。它主要用于实时图像处理和分析,提供了丰富的功能,包括:
- 图像处理: 滤波、边缘检测、图像变换等。
- 特征检测: 检测和匹配图像中的特征点。
- 目标检测和跟踪: 实现人脸识别、运动检测等功能。
- 机器学习: 提供多种算法用于分类和聚类。
OpenCV 支持多种操作系统和编程语言,如 C++、Python 和 Java,广泛应用于机器人、医疗、安防和自动驾驶等领域。
二、下载和安装OpenCV
1.下载
- 官方下载链接:https://opencv.org/releases/
- 云盘下载链接:https://pan.baidu.com/s/166mliL3fEXqsvHNwdY1Szw 密码:xlei
注意:OpenCV 不同的版本 对应着不同的JDK,我使用的是JDK1.8
2.安装步骤
下载成功后,选择安装路径
等待加载成功,完成安装
三、引入IDEA
- 下载成功后,进入 opencv\build\java
- 导入IDEA
提示: resources 文件夹下创建 lib 将opencv-453.jar 放入,并在 pom.xml 加入以下配置
<dependency>
<groupId>com.java.opencvgroupId>
<artifactId>opencv-453artifactId>
<version>1.0.1version>
<scope>systemscope>
<systemPath>${basedir}/src/main/resources/lib/opencv-453.jarsystemPath>
dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 导入 opencv_java453.dll 文件
提示: opencv\build\java\x64 文件夹下的
提示: resources 文件夹下创建 lib 将opencv_java453.dll 放入,并在 pom.xml 加入以下配置
<build>
<resources>
<resource>
<directory>src/main/resourcesdirectory>
<includes>
<include>**/*.dllinclude>
includes>
resource>
resources>
build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
四、加载opencv 动态库
注意:使用 OpenCV 时,需要执行 加载一次 动态库 opencv_java453.dll
/**
* 加载动态库 opencv_java453.dll
* */
static {
try{
InputStream is = OpenUtils.class.getResourceAsStream("/lib/opencv_java453.dll");
File tempDll = File.createTempFile("opencv", ".dll");
FileOutputStream os = new FileOutputStream(tempDll);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = is.read(buffer)) != -1) {
os.write(buffer, 0, bytesRead);
}
is.close();
os.close();
// 加载动态库
System.load(tempDll.getAbsolutePath());
}catch (Exception e){
e.printStackTrace();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
注意:千万别忘了 Maven install 打包
验证是否导入成功
public static void main(String[] args) {
try {
// 输出 OpenCV 版本,验证 OpenCV 是否导入成功
System.out.println("OpenCV Version: " + Core.getVersionString());
} catch (UnsatisfiedLinkError e) {
System.err.println("OpenCV 动态库加载失败!");
e.printStackTrace();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
评论记录:
回复评论: