几周前,我发现了这个关于 opencv 和 javacv 手势检测的教程。我开始使用该示例,但一遍又一遍地遇到相同的错误。
这是错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_objdetect in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:593)
at com.googlecode.javacpp.Loader.load(Loader.java:489)
at handDectector.Handy.<init>(Handy.java:32)
at handDectector.Handy.main(Handy.java:56)
Caused by: java.lang.UnsatisfiedLinkError: no opencv_objdetect248 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:593)
at com.googlecode.javacpp.Loader.load(Loader.java:481)
我在网上阅读了很多与此问题相关的帖子,其中人们发现了相同的 javacpp 和 javacv 文件。我尝试这样做了几次,但没有成功。
这是代码:
package handDectector;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import org.opencv.core.Core;
import java.io.*;
import com.googlecode.javacv.*;
import com.googlecode.javacv.cpp.*;
import com.googlecode.javacpp.Loader;
public class Handy extends JFrame
{
// GUI components
private HandPanel handPanel;
public Handy()
{
super("Hand Detector");
Container c = getContentPane();
c.setLayout( new BorderLayout() );
// Preload the opencv_objdetect module to work around a known bug.
Loader.load(opencv_objdetect.class);
handPanel = new HandPanel(); // the webcam pictures and drums appear here
c.add( handPanel, BorderLayout.CENTER);
addWindowListener( new WindowAdapter() {
public void windowClosing(WindowEvent e)
{ handPanel.closeDown(); // stop snapping pics, and any drum playing
System.exit(0);
}
});
setResizable(false);
pack();
setLocationRelativeTo(null);
setVisible(true);
} // end of Handy()
// -------------------------------------------------------
public static void main( String args[] )
{
new Handy();
}
} // end of Handy class
问题在于 opencv_obj 文件不存在。
我对这个图书馆没有太多经验。如果有人可以帮助我解决问题,是否有可能?我肯定知道 github 和 stackoverflow 上有关于相同问题的帖子......但他们都使用 maven。没有maven可以做到吗?