我想使用非自由库中的一些功能,所以我将javacv添加到我的maven项目中,并安装了opencv_contrib包。
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.1</version>
</dependency>
因此,我将opencv_xfeatures2d.class作为opencv-3.0.0-1.1.jar库的一部分。
我有以下导入:
import static org.bytedeco.javacpp.opencv_xfeatures2d.*;
在我的项目中。正确添加库,因为遵循
SURF surf = new SURF();
行(ctrl +鼠标左键)它将我重定向到opencv_xfeatures2d文件中的正确功能。但是当我尝试编译项目时,我得到以下错误:
线程“main”中的异常java.lang.UnsatisfiedLinkError:no java.library.path中的jniopencv_xfeatures2d java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)at java.lang.Runtime.loadLibrary0(Runtime.java:870)at java.lang.System.loadLibrary(System.java:1122)at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:597)at at org.bytedeco.javacpp.Loader.load(Loader.java:438)at org.bytedeco.javacpp.Loader.load(Loader.java:381)at org.bytedeco.javacpp.opencv_xfeatures2d。(opencv_xfeatures2d.java:19) at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:348)at org.bytedeco.javacpp.Loader.load(Loader.java:413)at org.bytedeco.javacpp.Loader.load(Loader.java:381)at org.bytedeco.javacpp.opencv_xfeatures2d $ SURF(opencv_xfeatures2d.java:489) 在mypr.rec.Clsm.Cmpr(Clsm.java:18)at mypr.mn.Main.main(Main.java:21)引起: java.lang.UnsatisfiedLinkError中: /tmp/javacpp8449996504597/libjniopencv_xfeatures2d.so: /usr/local/lib/libopencv_calib3d.so.3.0:未定义的符号: ippicvJumpIndexForMergedLibs at java.lang.ClassLoader $ NativeLibrary.load(Native Method)at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1938)at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1821)at java.lang.Runtime.load0(Runtime.java:809)at java.lang.System.load(System.java:1086)at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:580)... 10更多
奇怪的是它说的是 jniopencv _xfeatures2d而不是 opencv _xfeatures2d。我做错了什么?