OpenCV 4.3.0 java。Eclipse中的lang.UnsatifiedLinkError
我试图在Eclipse中与OpenCV 4.3.0的Java绑定进行一些模板匹配,但尝试加载模板映像总是会导致以下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.imgcodecs.Imgcodecs.imread_0(Ljava/lang/String;I)J
引发此异常的代码行如下:
flowerTemplate = Imgcodecs.imread("/templates/flowerpot_white.png", Imgcodecs.IMREAD_COLOR);
我在StackOverflow和互联网上的其他地方尝试了一些类似问题的解决方案,包括:
- 指向Eclipse中用户库定义中带有“native library location”变量的本机库文件夹李>
- 将本机库文件夹位置添加到my PATH变量李>
- 添加本机库。我的路径变量的dll位置李>
- 设置Eclipse运行配置以添加本机库文件夹&。路径和类路径变量的dll位置李>
- 按照我看到的三种方法中的每一种,在三个不同的位置加载带有适当Java代码的库,它们都在引发异常的代码之前运行李>
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
System.load(<path_to_the_dll>);
File opencvLibrary = new File(System.mapLibraryName(Core.NATIVE_LIBRARY_NAME));
System.load(opencvLibrary.getAbsolutePath());
- 放置。将有问题的dll放入我的源文件夹和每个子文件夹。我在Eclipse中运行它,所以这也是程序的工作目录李>
# 1 楼答案
在删除每个加载方法,然后逐个添加它们之后,我确定问题很可能是由Eclipse两次加载本机库文件夹引起的