我正在用 Java 编写一个 lambda 函数,想要使用 opencv 库。我很难理解如何设置它。请帮忙。我可以在本地很好地设置它,但我对 lambda 部分真的很困惑。
编辑:准确地说,我在使用 System.LoadLibrary() 函数时遇到问题。该 dll 在项目文件中,但 lambda 找不到它。
Opencv依赖于底层操作系统库文件。对于 Windows,我们需要 opencv_javaXXX.dll 文件,对于 Windows,我们需要 libOpencv_javaXXX.so 文件(其中 XXX 是 opencv 版本)。如果您没有这些文件,请使用此链接生成http://docs.opencv.org/2.4/doc/tutorials/introduction/desktop_java/java_dev_intro.html http://docs.opencv.org/2.4/doc/tutorials/introduction/desktop_java/java_dev_intro.html
AWS lambda 基本上使用 AMI 名称:amzn-ami-hvm-2016.03.3.x86_64-gp2。这是一台 64 位 Linux 机器。为了获取 libOpencv_javaXXX.so,我使用 AMI 名称启动了一个 EC2 实例:amzn-ami-hvm-2016.03.3.x86_64-gp2(这是亚马逊上的公共 AMI),并在此计算机上安装了用于 java 的 opencv。
一旦你有了 libOpencv_javaXXX.so ,将其添加到类路径(我将其添加到 src/main/resources ),然后使用以下代码从 JVM 进程加载它。
System.load(new ClassPathResource("/libopencv_javaXXX.so").getFile().getAbsolutePath());
System.LoadLibrary() 从 java lib 路径加载库,System.Load() 将从绝对路径加载本机库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)