gpt4 book ai didi

scala - opencv 3.0.0 java imread_0 未定义

转载 作者:太空宇宙 更新时间:2023-11-03 21:53:27 24 4
gpt4 key购买 nike

我正在尝试使用 scala 使用 java opencv 3.0.0-beta 开发应用程序。

我收到一个运行时错误:java.lang.UnsatisfiedLinkError: java.lang.UnsatisfiedLinkError: org.opencv.imgcodecs.Imgcodecs.imread_1(Ljava/lang/String;)J

在研究原因时,我创建了以下简单的应用程序,它表现出类似的行为:

import reflect._

import org.opencv.core.Core
import org.opencv.core.Mat
import org.opencv.core.CvType
import org.opencv.imgcodecs.Imgcodecs

object main extends Application {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME)

val what = "something.png"
val mat = Imgcodecs.imread(what)
Imgcodecs.imwrite("something_else.png", mat)
}

主要区别在于,如果以“sbt run”方式运行,它会按预期执行。如果从上面删除了适当的行,则代码在 REPL 中失败。

我怀疑这个问题与原始问题有关,但没有证据。

如果我在这两种情况下查看 JVM 的内存映射,我都会加载预期的库。

如果检查代码,我找不到 org.opencv.imgcodecs.Imgcodecs.imread_1 的定义

我不知道下一步该去哪里诊断这个问题。

有没有人遇到过这个问题?

谢谢

最佳答案

我还没有使用过 openCV3.0,因为它有重大变化并破坏了 opencv 2.4.x 代码,您是否提供库路径到

sbt run

添加

javaOptions in run += "-Djava.library.path=lib/opencv/"

到您的 build.sbt 文件或传递 cmd 行

sbt run -Djava.library.path=lib/opencv/

opencv 文件夹应该包含与 jar 文件一起生成的文件

如果你需要的话,我在这个 git 仓库中有 2.4.9、2.4.10 和 3.0.0 的 java bindins 用于 java 7 和 8

git@gitlab.com:opencv/java_lib.git

关于scala - opencv 3.0.0 java imread_0 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28810092/

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