• Mac安装opencvJava踩坑


    SpringBoot导入opencv依赖

    1. 先将jar包添加到libraries中
    2. 在resources目录下创建lib文件夹并复制jar包到这里
    3. 添加如下依赖,并刷新maven
    <dependency>
      <groupId>org.opencvgroupId>
      <artifactId>opencvartifactId>
      <version>4.8.0version>
      <scope>systemscope>
      <systemPath>${project.basedir}/src/main/resources/lib/opencv-480.jarsystemPath>
    dependency>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    使用homebrew下载opencv

    如果需要下载Java的opencvjar包需要更改下面路径中的java选项,把OFF改成ON

    /opt/homebrew/Library/Taps/homebrew/homebrew-core/Formula/opencv.rb

    最终会在

    /opt/homebrew/Cellar/opencv/4.8.0_1/share/java/opencv4/

    路径下生成一个jar包和一个dylib文件

    这个ajr包需要通过idea添加到项目

    这个.dylib文件需要放到Java的环境配置路径中,路径如下(如果不放会出现no opencv_java480 in java.library.path报错)

    /Library/Java/Extensions/

    jdk在下面的路径中

    /Library/Java/JavaVirtualMachines/

    jdk版本错误更改

    类文件具有错误的版本 63.0, 应为 52.0

    报错

    java: 无法访问 org.opencv.face.LBPHFaceRecognizer
    错误的类文件: /Users/xxx/opencv-4.7.0/build/bin/opencv-470.jar!/org/opencv/face/LBPHFaceRecognizer.class
    类文件具有错误的版本 63.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。

    解决

    将 opencv-470.jar 使用 Java8 重新编译打包。

    要将整个 opencv-470.jar JAR 文件的版本设置为 JDK 8 兼容的版本,您可以使用以下步骤:

    1. 在您的计算机上安装 JDK 8 或更高版本,并将其配置为默认的 Java 版本。

    2. 使用 jar 命令解压 opencv-470.jar JAR 文件。在命令行中,切换到包含 opencv-470.jar 的目录,并运行以下命令:

      jar xf opencv-470.jar

      这将会在当前目录下创建一个名为 org 的目录,其中包含 opencv 目录和所有的类文件。

    3. 使用 javac 命令编译所有的类文件,并将目标版本设置为 JDK 8。在命令行中,切换到包含 org 目录的父目录,并运行以下命令:

      javac -source 8 -target 8 -cp opencv-470.jar org/opencv/**/*.java

      这将会使用 JDK 8 编译器编译 opencv 包中的所有 Java 源代码,并将目标版本设置为 JDK 8。

    4. 使用 jar 命令重新打包所有的类文件为 opencv-470.jar JAR 文件。在命令行中,切换到包含 org 目录的父目录,并运行以下命令:

      `jar cf opencv-470.jar org

      这将会重新打包所有的类文件,并将它们放回 opencv-470.jar JAR 文件中。

    5. 最后,您可以使用 javap 命令检查 opencv-470.jar JAR 文件的版本是否已更新为 major version: 52。在命令行中,切换到包含 opencv-470.jar 的目录,并运行以下命令:

      `javap -verbose -classpath opencv-470.jar org.opencv.core.Core

      其中,org.opencv.core.Core 是任意一个在 opencv-470.jar 中的类。如果输出中的 major version52,则表示该 JAR 文件已成功转换为 JDK 8 兼容的版本。

  • 相关阅读:
    找工作必备!如何让面试官对你刮目相看,建议收藏尝试!!
    HTML5和CSS3四属性总结一
    成熟企业级开源监控解决方案Zabbix6.2关键功能实战-下
    【STM32】【HAL库】【实用制作】遥控关灯
    Flutter 实战:构建跨平台应用
    Python案例:获取music榜单数据,保存自己的music库
    Oracle,可保留在快速恢复区(FRA)的文件类型
    Vue CLI的Runtime + Compiler和Runtime-only选项的区别和render渲染机制原理解析
    深度学习与总结JVM专辑(三):垃圾回收器—G1(图文+代码)
    工厂释放静电行为识别系统
  • 原文地址:https://blog.csdn.net/m0_46636892/article/details/134257080