2017-06-29 5 views
0

現在、KotlinでJavaCVを使用してプロジェクトを開始しようとしています。私はIDEとしてIntelliJ Ideaを使用しています。私はJavaCV 1.3.2とOpenCV 3.20を使用しています。 これは、OpenCVのためのモジュールの依存関係のための私の設定です:JavaCVをKotlinで使用する

OpenCV Project Library Configuration

とJavaCV用:

JavaCV Project Library Configuration

私は依存関係にあるjavacv前にOpenCVのを持っています。 OpenCVが存在し、有効であることをテストするために、以下のようにテストを行いました。私はloadLibraryとバージョン番号が正しく表示されるので、私はOpenCVが実際に動作していると推測できます。

import org.opencv.core.Core 
import org.opencv.core.Mat 
import org.opencv.core.CvType 
import org.opencv.core.Scalar 
import org.bytedeco.javacv.OpenCVFrameGrabber 

fun main(args : Array<String>) { 
    println("Test Built Successfully") 
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME) 
    println("Running OpenCV Version ${Core.VERSION}") 
    val grabber = OpenCVFrameGrabber(1) 
} 

我々はグラバーは、次の例外rasies初期化ライン:おそらく

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

私はここで何かをしないのですが、私はのためのGitリポジトリにREADME.mdの指示に従ってきましたJavaCV。私はStackOverflowのKotlinでこのライブラリを使用しようとしている誰も見たことがありませんが、javaを使用して生成された同じ例外についてのいくつかの投稿をチェックアウトしました。

答えて

0

このエラーの処理は、KotlinとJavaの違いはありません。 opencvのネイティブライブラリへのパスを指定する必要があります。デフォルトでは、Windowsでは、PATH環境変数に設定されているネイティブライブラリを探します。

システムプロパティjava.library.path(エラーメッセージの指示どおり)を指定すると、ネイティブライブラリを探すディレクトリを明示的に指定することもできます。

たとえば、次のように実行構成を追加することができます:ネイティブのlib opencv_imgproc320.dllがどこにあるか、これまで${PATH_TO_DYNAMIC_LIB}は次のようになり run config

- 私はあなたの場合には、それはC:/Users/ms/IdeaProjects/CVTest/opencv/build/java/x64ことだと思うが。

+0

VMオプションのライブラリパスを変更すると、同じライブラリパスを持たないintellijで構成された他のライブラリが壊れてしまいます。指定すると、ライブラリの設定時に指定するパスではなく、これが使用されます。 –

0

私は、自分のVMオプションを空白にし、必要なOpenCVライブラリをJavaCVライブラリ設定のネイティブライブラリパスとして追加することで、この問題を解決できました。

関連する問題