24

USB ウェブカメラからビデオ ストリームをキャプチャする必要があります。このために、Java での開発に Opencv 2.4.6 を使用しています。ここに記載されている手順に従います

「C:\opencv\build\java\x64」ディレクトリをシステム PATH に追加し、「opencv-246.jar」ファイルを ECLIPSE のライブラリに含めます。説明を実行すると

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;

public class Main {
    public static void main(String[] args) {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        Mat m  = Mat.eye(3, 3, CvType.CV_8UC1);
        System.out.println("m = " + m.dump());
    }
}

私は得る

m = [1, 0, 0;
  0, 1, 0;
  0, 0, 1]

OK =)

しかし、私が走るとき

import org.opencv.highgui.VideoCapture;

public class Main {
    public static void main(String[] args) {
        VideoCapture vc = new VideoCapture(0);
        if(vc.isOpened()){
            System.out.println("Works!");
        }
    }
}

私は得る

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.highgui.VideoCapture.n_VideoCapture(I)J
    at org.opencv.highgui.VideoCapture.n_VideoCapture(Native Method)
    at org.opencv.highgui.VideoCapture.<init>(VideoCapture.java:113)
    at Main.main(Main.java:5)

以下に含まれるすべてのルートを追加します。

C:\opencv\build\x64\vc10

1つずつ、しかし動作しません。

最後に、C:\opencv\build\x64\vc10 で OPENCV_DIR という変数を作成しますが、それでも UnsatisfiedLinkError が発生します。

私を助けてください!

4

6 に答える 6

4

JavaでOpenCVを使用しているときに同様のエラーが発生しました。解決するために2つのことを行いました。

  1. static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); }
  2. OpenCV dll または .so へのパスを javalibpath または path に追加しました。これは実際には何らかの理由で機能せず、OpenCV dll を system32 フォルダーに入れることになりました。
于 2015-05-23T18:52:49.513 に答える