一、OpenCV 是什么?

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库。它主要用于实时图像处理和分析,提供了丰富的功能,包括:

  • 图像处理: 滤波、边缘检测、图像变换等。
  • 特征检测: 检测和匹配图像中的特征点。
  • 目标检测和跟踪: 实现人脸识别、运动检测等功能。
  • 机器学习: 提供多种算法用于分类和聚类。

OpenCV 支持多种操作系统和编程语言,如 C++、Python 和 Java,广泛应用于机器人、医疗、安防和自动驾驶等领域。

二、下载和安装OpenCV

1.下载

2.安装步骤

下载成功后,选择安装路径
在这里插入图片描述
等待加载成功,完成安装
在这里插入图片描述

三、引入IDEA

  1. 下载成功后,进入 opencv\build\java
    在这里插入图片描述
  2. 导入IDEA
    提示: resources 文件夹下创建 lib 将opencv-453.jar 放入,并在 pom.xml 加入以下配置
         <dependency>
            <groupId>com.java.opencv</groupId>
            <artifactId>opencv-453</artifactId>
            <version>1.0.1</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/main/resources/lib/opencv-453.jar</systemPath>
        </dependency>

在这里插入图片描述

  1. 导入 opencv_java453.dll 文件
    提示: opencv\build\java\x64 文件夹下的
    在这里插入图片描述
    提示: resources 文件夹下创建 lib 将opencv_java453.dll 放入,并在 pom.xml 加入以下配置
   <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.dll</include>
                </includes>
            </resource>
        </resources>
    </build>

四、加载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();
        }
    }

注意:千万别忘了 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();
        }
    }
Logo

2万人民币佣金等你来拿,中德社区发起者X.Lab,联合德国优秀企业对接开发项目,领取项目得佣金!!!

更多推荐