3

JavaCVを使ってeclipseにプログラムを実装してみました。これがサンプルコードです。

import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
public class JavaCVProj01 
         {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        IplImage img = cvLoadImage("Paris.jpeg");
        cvShowImage("Paris",img);
        cvSmooth(img,img,CV_GAUSSIAN,13);
        cvShowImage("BlurImage",img);

        cvWaitKey();
        cvReleaseImage(img);

    }

}

プログラムを実行すると、例外が発生します

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\Bhavana\AppData\Local\Temp\javacpp34629596157210\jniopencv_core.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.load0(Unknown Source)
    at java.lang.System.load(Unknown Source)
    at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:566)
    at com.googlecode.javacpp.Loader.load(Loader.java:489)
    at com.googlecode.javacpp.Loader.load(Loader.java:431)
    at com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.googlecode.javacpp.Loader.load(Loader.java:453)
    at com.googlecode.javacv.cpp.opencv_imgproc.<clinit>(opencv_imgproc.java:97)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.googlecode.javacpp.Loader.load(Loader.java:453)
    at com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:85)
    at demo.main(demo.java:13)
Caused by: java.lang.UnsatisfiedLinkError: no opencv_core244 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at com.googlecode.javacpp.Loader.loadLibrary(Loader.java:593)
    at com.googlecode.javacpp.Loader.load(Loader.java:481)
    ... 11 more

環境変数にも正しいパスを指定しました。また、javacv-bin から外部 Jar ファイルを追加しました。私が与えたパスは CLASSPATH D:\opencv\build\x86\vc10\lib D:\opencv\build\common\tbb\ia32\vc10 D:\opencv\build\x86\vc10\staticlib でした

パス D:\opencv\build\common\tbb\ia32\vc10 D:\opencv\build\x86\vc10\bin

どうすればいいですか?まだ追加しなければならない依存ライブラリは何ですか?

4

4 に答える 4

1

これらのエラーは、OpenCV のバージョンが JavaCV-Bin と互換性がない場合に発生します。

例えば:

  • OpenCV 2.4.0 と JAVA-BIN 0.2 = 非互換

  • OpenCV 2.4.3 および JAVA-BIN 0.3 = 互換性あり


インストール後は必ず再起動してください

于 2013-04-26T06:44:28.987 に答える
1

opencv ディレクトリを C:\ ドライブにコピーするだけで、これを解決できます。すべてのパスを正しく設定するよりも、おそらくこれが最も簡単な方法です。これは、JavaCV ドキュメントのどこかに記載されています (現在は見つかりません)。

于 2013-04-06T07:23:05.553 に答える
0

私が答えたほぼ同じ質問

環境変数にパスopencv_java244.dllを追加する必要があります。%PATH%

于 2013-04-01T23:03:31.057 に答える