【问题标题】:Runnable JavaCV Project可运行的 JavaCV 项目
【发布时间】:2012-02-03 10:43:24
【问题描述】:

我正在使用 OpenCV 包装器 JavaCV 开发一个简短的应用程序。我尝试运行一个基本示例,它在我的计算机上运行没有任何问题。

现在当我尝试在笔记本电脑上执行相同的程序时遇到问题。 OpenCV 没有安装在那里,但 OpenCV 二进制文件包含在 JavaCV jar 中,这些 jar 包含在我的 jar 文件中。

所以我的问题是是否有机会创建一个可运行的 jar 文件,该文件可以在任何未安装 OpenCV 的 Ubuntu 或 Windows 系统上执行。

感谢和问候

安德烈亚斯

【问题讨论】:

    标签: java dll opencv jar


    【解决方案1】:

    是的,但是鉴于 Java 和 C++ 的限制以及 Microsoft 的许可问题,最简单的方法是将您需要的所有内容静态链接到一个大型 JNI 库中,每个平台一个。这可以通过修改opencv_core.java 文件顶部的目录并将它们指向静态库,并使用JavaCPP 的-o myMassiveJNIlib 选项来完成(参见JavaCV 的build.xml 文件内部)。然后在您的应用程序中简单地调用 System.load('path/to/myMassiveJNIlib') 在使用 JavaCV 之前。我们还可以在 JAR 文件中包含的相关库文件上调用Loader.extractResource()(可能文件名基于Loader.getPlatformName())将其提取到临时文件中,然后再调用System.load()。当我们不需要将所有内容合并到一个大文件中时,这就是 JavaCPP 自动为每个类所做的事情。

    编辑:JavaCPP 和 JavaCV 的最新版本可以从资源本地库中提取和加载,如 FaceApplet sample 所示。不再需要弄乱静态库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-01
      • 2014-12-21
      相关资源
      最近更新 更多