Исключение в потоке "main" java.lang.UnsatisfiedLinkError: нет jniopencv_core в java.library.path - PullRequest
0 голосов
/ 06 октября 2019

Я пытаюсь работать над тем, как активировать веб-камеру и снимать видео с помощью marvin framework. я установил javacv и opencv, но я все еще получаю исключение. я не знаю, связано ли это с проблемами версий opencv и javacv или с чем. надеюсь, ребята, вы можете помочь.

Вот исключение:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniopencv_core in java.library.path

и это сообщение тоже:

SETUP: Setting up device 0
SETUP: HP Webcam
SETUP: Couldn't find preview pin using SmartTee
SETUP: Default Format is set to 640 by 360 
SETUP: trying requested format RGB24 @ 640 by 480
SETUP: Capture callback set
SETUP: Device is setup and ready to capture.

'

вот мой код:

public class SimpleVideoTest extends JFrame implements Runnable{

private MarvinVideoInterface    videoAdapter;
private MarvinImage             image;
private MarvinImagePanel        videoPanel;

public SimpleVideoTest(){
    super("Simple Video Test");

    // Create the VideoAdapter and connect to the camera
    MarvinVideoInterface  videoAdapter = new MarvinJavaCVAdapter();
    try {
        videoAdapter.connect(0);
    } catch (MarvinVideoInterfaceException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    // Create VideoPanel
    videoPanel = new MarvinImagePanel();
    add(videoPanel);

    // Start the thread for requesting the video frames 
    new Thread(this).start();

    setSize(800,600);
    setVisible(true);
}

public static void main(String[] args) {
    SimpleVideoTest t = new SimpleVideoTest();
    t.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

 @Override
public void run() {
    while(true){
        // Request a video frame and set into the VideoPanel
        try {
            image = videoAdapter.getFrame();
        } catch (MarvinVideoInterfaceException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        videoPanel.setImage(image);
    }
}

1 Ответ

0 голосов
/ 06 октября 2019

как именно вы запускаете свое Java-приложение?

openCV имеет собственную библиотеку (см. этот документ , относится к libopencv_java * .so / dll), на которой должна быть встроенная библиотекапуть к классу для JVM, который вы запускаете.

см. этот похожий вопрос для получения подробной информации о том, как

...