2012-02-03 30 views
0

私はOpenCVラッパーJavaCVを使って短いアプリケーションを開発しています。私は基本的な例を実行しようとし、それは問題なく私のコンピュータ上で働いた。実行可能なJavaCVプロジェクト

今私はラップトップで同じプログラムを実行しようとすると問題に遭遇します。 OpenCVはそこにはインストールされていませんが、OpenCVバイナリはJavaCV jarファイルに含まれています。これらはjarファイルに含まれています。

私の質問は、OpenCVがインストールされていないUbuntuまたはWindowsシステムで実行できるrunnable jarファイルを作成する機会があるかどうかです。

おかげで、宜しく

アンドレアス

答えて

2

をはい、しかし、JavaとC++の制約が与えられただけでなく、マイクロソフトからライセンスの問題、1つの大規模なJNIライブラリに静的に必要なすべてをリンクすることであろう最も簡単な方法プラットフォームごとに1つ。これは、opencv_core.javaファイルの先頭にあるディレクトリを変更して静的ライブラリを指すようにし、JavaCPPの-o myMassiveJNIlibオプションを使用して指定します(JavaCVのbuild.xmlファイルを参照してください)。アプリケーションでは、JavaCVを使用する前にSystem.load( 'path/to/myMassiveJNIlib')を呼び出します。 System.load()を呼び出す前にJARファイルに含まれる関連ライブラリファイル(おそらくLoader.getPlatformName()に基づくファイル名)にLoader.extractResource()を呼び出して一時ファイルに抽出することもできます。これは、大規模な大規模なファイルにすべてをマージする必要がないときに、JavaCPPが各クラスに対して自動的に行う処理です。

EDIT:JavaCPPおよびJavaCVの最近のバージョンでは、FaceApplet sampleのように、リソースネイティブライブラリから抽出して読み込むことができます。もはや静的ライブラリを混乱させる必要はありません。

関連する問題