【发布时间】:2015-10-24 15:32:55
【问题描述】:
我目前正在尝试开发将使用 OpenCV 库的 Java 应用程序。我试图使用这样的 testNg 框架测试我的 openCV 配置:
@Test
public void openCVTest(){
System.out.println("OpenCV configuration simple test:");
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m = Mat.eye(3,3, CvType.CV_8UC1);
System.out.println("OpenCV matrix = " + m.dump());
}
然而这产生了一个错误:
java.lang.UnsatisfiedLinkError: no opencv_java300 in java.library.path
我找到了多个答案(即使在 stackoverflow 上),他们都建议使用我尝试过的一些解决方案进行错误配置。最后我尝试运行相同的代码,但这次是在这样的应用程序中:
public class App {
public static void main( String[] args ){
System.out.println("OpenCV configuration simple test:");
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Mat m = Mat.eye(3,3, CvType.CV_8UC1);
System.out.println("OpenCV matrix = " + m.dump());
}
}
而且它的工作方式与预期一样。所以我的问题是,为什么这不适用于测试框架?也许不知何故我还必须为测试配置 openCV 库?
【问题讨论】:
-
您的顶级测试似乎没有正确配置其 java.library.path 以找到它的本机库,在您的第二个示例中正确配置了它。对第二个示例中的 java.library.path 属性执行 system.out() 并查看值是什么。
-
感谢您的关注。等我下班回来试试。