我知道这个问题被问了很多次,但我已经尝试了所有解决方案。我在我的Java项目中使用OpenCV。在主函数中:
import org.opencv.core.Core;
import org.opencv.highgui.VideoCapture;
public static void main(String[] argv){
System.loadLibrary("lib"+Core.NATIVE_LIBRARY_NAME);
VideoCapture cap = new VideoCapture(0);
...
}
这给了我错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.highgui.VideoCapture.VideoCapture_2(I)J
at org.opencv.highgui.VideoCapture.VideoCapture_2(Native Method)
at org.opencv.highgui.VideoCapture.<init>(VideoCapture.java:154)
at test.Test.main(Test.java:14)
Java Result: 1
在任何人这么说之前,我必须在Core.NATIVE...
之前添加"lib"
,以便加载libopencv_java300.dll
.
我和32 bit JDK 8
64 bit Windows 8
.我从 git 源代码构建了 OpenCV 3 的静态版本,MinGW 4.8.0
我做错了什么?
在你的主方法中,添加这一行
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
这应该从DLL(或.so或.dylib,取决于您的操作系统)加载所有OpenCV库