SpringBoot导入opencv依赖
- 先将jar包添加到libraries中
- 在resources目录下创建lib文件夹并复制jar包到这里
- 添加如下依赖,并刷新maven
<dependency><groupId>org.opencv</groupId><artifactId>opencv</artifactId><version>4.8.0</version><scope>system</scope><systemPath>${project.basedir}/src/main/resources/lib/opencv-480.jar</systemPath> </dependency> <!--这里我的jar包是opencv-480.jar。所以我的版本就是4.8.0-->
使用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 兼容的版本,您可以使用以下步骤:
-
在您的计算机上安装 JDK 8 或更高版本,并将其配置为默认的 Java 版本。
-
使用
jar
命令解压opencv-470.jar
JAR 文件。在命令行中,切换到包含opencv-470.jar
的目录,并运行以下命令:jar xf opencv-470.jar
这将会在当前目录下创建一个名为
org
的目录,其中包含opencv
目录和所有的类文件。 -
使用
javac
命令编译所有的类文件,并将目标版本设置为 JDK 8。在命令行中,切换到包含org
目录的父目录,并运行以下命令:javac -source 8 -target 8 -cp opencv-470.jar org/opencv/**/*.java
这将会使用 JDK 8 编译器编译
opencv
包中的所有 Java 源代码,并将目标版本设置为 JDK 8。 -
使用
jar
命令重新打包所有的类文件为opencv-470.jar
JAR 文件。在命令行中,切换到包含org
目录的父目录,并运行以下命令:`jar cf opencv-470.jar org
这将会重新打包所有的类文件,并将它们放回
opencv-470.jar
JAR 文件中。 -
最后,您可以使用
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 version
为52
,则表示该 JAR 文件已成功转换为 JDK 8 兼容的版本。