gpt4 book ai didi

java - 可运行的 JavaCV 项目

转载 作者:行者123 更新时间:2023-12-02 07:59:24 26 4
gpt4 key购买 nike

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

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

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

谢谢并致以诚挚的问候

安德烈亚斯

最佳答案

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

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

关于java - 可运行的 JavaCV 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9127323/

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