首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.UnsatisfiedLinkError:'long org.opencv.core.Mat.n_Mat()‘

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

Stack Overflow用户
提问于 2020-10-01 15:38:45
回答 1查看 626关注 0票数 1

我试图在Centos 8上使用maven和opencv构建我的Java项目,通过尝试某种修复方法,我可以将其构建为运行API的.jar文件。但是,当我的服务从opencv调用lib时,它会引发以下错误:java.lang.UnsatisfiedLinkError: 'long org.opencv.core.Mat.n_Mat()'

我在centos 8:https://my.oschina.net/u/3568600/blog/4553084中安装opencv的参考

这是我的一步:

  1. 安装cmake和ant.

  1. 下载:wget https://github.com/opencv/opencv/archive/4.4.0.zip并解压缩it

  1. 运行命令:cd opencv

mkdir build

cd build

  • Run cmake:cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TESTS=OFF ..

  • make

sudo make install

运行此步骤后输出:

移动库:cp -r /usr/local/share/java/opencv4/libopencv_java440.so /usr/lib

  1. 检查版本:ldconfig -v | grep opencv这里我的输出:

在这里,我的java代码加载核心本机库:

代码语言:javascript
复制
  public static void main(String[] args) {
        System.load("/user/lib/libopencv_java440.so");
        SpringApplication.run(MyApp.class, args);
    }

我的进程抛出错误:

代码语言:javascript
复制
    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
    }

你建议我下一步做什么?

注意:在中运行正常的本地()代码,将libopencv_java440.so更改为opencv_java440.dll,并在eclipse中将opencv-440.jar添加到类路径。

EN

回答 1

Stack Overflow用户

发布于 2020-10-06 03:44:01

我找到了解决这个问题的简单方法。

在pom.xml中添加依赖项:

代码语言:javascript
复制
<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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64158708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档