2013-05-01 8 views
9

私のeclipse-projectのビルドパスにopenCVを追加する際に問題があります。私はこのサイト上のチュートリアルの指示に従っている:http://docs.opencv.org/2.4.4-beta/doc/tutorials/introduction/desktop_java/java_dev_intro.html#create-a-simple-java-project-in-eclipseEclipseのjava buildpathにopenCVを追加する

をしかし、コードの断片を実行すると、このコンソール出力を与える:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv-java2.4.4 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 camStatisticsTests.RawTests.main(RawTests.java:20) 

私はOpenCVのは、JavaとEclipseでの作業を取得するために行うには何を持っています。私はそれを通常のJavaライブラリとして使用したい。

答えて

0

解決策が見つかりました。このチュートリアルでは、ステップをスキップします。ここでは、「ネイティブビルドパス」にdllを追加する必要があります。 DLLは、32ビットのJava用の "opencv/build/java/x86"にあります。なぜこれが当てはまるのかわかりませんが。もし誰かがそれを説明できればいいだろう。

2

OpenCV JavaライブラリはEclipseプロジェクトに正しくリンクされています。

問題はOpenCVネイティブライブラリで、java.library.pathにはありません。例外は、行によってスローされます

static{ System.loadLibrary("opencv_java244"); } 

これは、Javaライブラリをネイティブにリンクしています。

コンピュータにOpenCVをインストールすると、ネイティブdllライブラリがシステムのどこかにインストールされ、System.loadLibraryを呼び出すと、このライブラリを検索してロードするように指示します。

ライブラリがjava.library.pathのいずれかのフォルダにないため、またはOpenCVがインストールされていないためにJavaでシステムにこのライブラリが見つかりません(バージョンを確認してください。 2.4.4ではなく、2.4.5です。この場合、Stringを適合させる必要があります)。

あなたの例外が「opencv-java2.4.4」であることに気付きました。 System.loadLibrary呼び出しでは、 "opencv_java244"という形式の正しいスペルがあることを確認してください。

また、JavaCVに関連するanswerのいずれかにリダイレクトされますが、詳細については何が起こっているのか詳しく説明しています。

+0

この回答をありがとうございます。しかし、実際に私は自分自身で問題を発見しました。私は図書館にそのdllを渡さなければならない。私はなぜ、なぜあなたは私にもっと多くの洞察力を与えることができるか分からない... – kiltek

+1

_dll_ライブラリは、javaがそれを見つけることができる場所になければならない。これは、ウィンドウ$ PATH、 'java.library.path'にリストされたフォルダ、Eclipseのネイティブビルドパス(あなたが行ったこと)で指定することも、' -Djava.library.path'をコマンドラインに渡すこともできます。 OpenCVに_dll_が必要なのは、OpenCVがC++ライブラリであり、JavaからJNIが必要なためです。 JNIは、Javaメソッド呼び出しをネイティブライブラリメソッドにマップします。このメソッドは、最終的にOpenCVライブラリを呼び出して「作業を行う」ようにします。 – StreakyCobra

1

解決策が見つかりました。実際のDLLはopenCV\opencv\build\java\x64\フォルダにあります。私の場合、その名前はopencv_java247.dllなので、System.loadLibrary("opencv_java244")System.loadLibrary("opencv_java247")に変更しました。私はまた、E:/Sagar_tools/tools/openCV/opencv/build/java/x64(これはDLLへの完全なパスです)というネイティブライブラリの場所を置きます。

7

私は同じ問題がありました。 >ウィンドウ - - >設定

後藤のEclipse:

Goto Eclipse -> Window -> Preferences

後藤ユーザーライブラリ:

私は 'ネイティブライブラリの場所' 構成でミスをしていたので、それが起こった

enter image description here

ネイティブライブラリの場所パスが(c:/ opencvを変更してください-2.4。9)あなた自身のOpenCVのフォルダに:

C:/opencv-2.4.9/build/java/x64 

ない:

C:/opencv-2.4.9/build/x64 

(私は... /javaのフォルダを逃した)

-1

変更コードSystem.loadLibrary("opencv_java244") にはあなたを願っています正しいフォルダにネイティブパスを設定し、opencv jarがビルドパスに設定されている

1

私の場合、Eclipse> external jar> n ative library config = opencv/build/lib

関連する問題