文章目录
1 摘要
曾经的典操作系统 Windows 7 ,在如今的 2024 年依旧占有一定的市场份额。在 SpringBoot 集成 OpenCV 的过程中也提到过操作系统版本过低会导致程序无法运行的问题。本文将介绍关于低版本的 Windows 操作系统(Windows 7 以及 Windows Server 2012)如何解决在 SpringBoot 项目中无法运行 OpenCV 的问题。
2 异常信息
在低版本的 Windows 系统中运行 SpringBoot 集成的 OpenCV 程序,会抛出以下异常:
Invocation of init method failed; nested exception is java.lang.UnsatisfiedLinkError:
C:\Users\Administrator\AppData\Local\Temp\opencv_openpnp7877167079041010602\nu\pattern\opencv\windows\x86_64\opencv_java342.dll: Can't find dependent libraries
异常的关键信息:
opencv_java342.dll: Can't find dependent libraries
异常分析:找不到 OpenCV 运行所需的依赖库。
3 解决OpenCV依赖问题
3.1 Windows 7 安装 OpenCV 依赖
依赖文件下载地址: 微软官方 Platform Update for Windows 7
将下载后的软件 Windows6.1-KB2670838-x64.msu
安装,然后重启电脑即可。
3.2 Windows Server 2012 安装 OpenCV 依赖
Windows Server 2012 的系统内核版本为 Windows 8.1,也是属于过期的操作系统
(1)打开「服务管理器」软件
(2)在右上角点击「管理」,选择「添加角色和功能」
(3)在弹出界面点击「服务器选择」菜单,选中当前服务器,然后点击「下一步」
(4)在左侧出现的菜单中点击「功能」菜单,下拉找到「媒体基础」功能,点击前边方框中的对号,然后进行安装
安装完成之后重启电脑
4 推荐参考资料
Windows special versions N/KN: can’t find dependent libraries with opencv_java342.dll — workaround
Install Media Foundation on Windows Server 2012, 2012 R2