gpt4 book ai didi

java.lang.UnsatisfiedLinkError : 'long org.opencv.core.Mat.n_Mat()'

转载 作者:行者123 更新时间:2023-12-02 16:31:08 26 4
gpt4 key购买 nike

我正在尝试在 Centos 8 上使用 maven 和 opencv 构建我的 Java 项目。通过尝试一些方法来修复,我可以将其构建为 .jar文件来运行 API。但是当我的服务从 opencv 调用 lib 时,它会抛出以下错误:java.lang.UnsatisfiedLinkError: 'long org.opencv.core.Mat.n_Mat()' .
我在 centos 8 中安装 opencv 的引用:https://my.oschina.net/u/3568600/blog/4553084
这是我的步骤:

  • 安装 cmake 和 ant。
  • 下载:wget https://github.com/opencv/opencv/archive/4.4.0.zip并解压
  • 运行命令:cd opencv mkdir build cd build
  • 运行 cmake:cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TESTS=OFF ..
  • makesudo make install 运行此步骤后输出:
    enter image description here
    移动库:cp -r /usr/local/share/java/opencv4/libopencv_java440.so /usr/lib
  • 检查版本:ldconfig -v | grep opencv这是我的输出:
    enter image description here

  • 这是我加载核心 native 库的java代码:
      public static void main(String[] args) {
    System.load("/user/lib/libopencv_java440.so");
    SpringApplication.run(MyApp.class, args);
    }
    我的过程抛出错误:
        public static Mat BufferedImage2Mat(BufferedImage image) throws IOException {
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    ImageIO.write(image, "png", byteArrayOutputStream);
    byteArrayOutputStream.flush();
    return Imgcodecs.imdecode(new MatOfByte(byteArrayOutputStream.toByteArray()), Imgcodecs.IMREAD_UNCHANGED); // Throw in this line
    }
    你建议我下一步做什么?
    注:我的代码在本地 (Windows) 中运行正常,更改 libopencv_java440.soopencv_java440.dll并添加 opencv-440.jar到 Eclipse 中的类路径。

    最佳答案

    我找到了解决它的简单方法。
    在 pom.xml 添加依赖:

    <dependency>
    <groupId>org.opencv</groupId>
    <artifactId>opencv-440</artifactId>
    <version>4.4.0</version>
    </dependency>
    通过命令将opencv-440.jar注册到maven: mvn install:install-file -Dfile=/path/opencv-440.jar -DgroupId=org.opencv -DartifactId=opencv-440 -Dversion=4.4.0 -Dpackaging=jar

    关于java.lang.UnsatisfiedLinkError : 'long org.opencv.core.Mat.n_Mat()' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64158708/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com