質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

AR(Augmented Reality)

AR(Augmented Reality)とは、拡張現実のことです。人が認識する現実の環境で視覚・聴覚などの知覚が感知する情報をコンピュータで拡張する技術、もしくはその環境そのものを表す言葉です。

Q&A

解決済

1回答

660閲覧

JavaとopenCV3.2.0でarucoを使うには?

watosar

総合スコア18

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

AR(Augmented Reality)

AR(Augmented Reality)とは、拡張現実のことです。人が認識する現実の環境で視覚・聴覚などの知覚が感知する情報をコンピュータで拡張する技術、もしくはその環境そのものを表す言葉です。

0グッド

0クリップ

投稿2017/06/11 06:58

編集2017/06/13 12:57

###前提・実現したいこと
openCVでarができるらしいと聞いて無謀にも手を出しました。
GitHubでopencv-contribの中のarucoのCmakeListsに

Add support for java in aruco module

(参照)とあったので、javaでも使えるのではないかと思うのですがJavaのサンプルが見当たらず途方に暮れています。

###試したこと
cmakeを使ってopencvのビルドは正常にできています。modulesの指定もしました。

調べたところ、JArUcoなるものがあったのですが(参照)、opencvをビルドしてもlibaruco.so.1.2が見当たりませんでした。

またaruco-androidというものもあり(参照)、これをいじって使えばいいのでしょうか。

add support for java とあるには他に何か足さなくても行けると思うのですがどうなのでしょう...
###補足情報
openCV3.2.0
openCV-contrib3.2.0
java8 (ビルド1.8.0_131-b11)
windows10

##追加
Java:
ant: C:/Program Files/apache-ant/apache-ant-1.10.0/bin/ant.bat (ver 1.10.0)
JNI: C:/Program Files/Java/jdk1.8.0_102/include C:/Program Files/Java/jdk1.8.0_102/include/win32 C:/Program Files/Java/jdk1.8.0_102/include
Java wrappers: NO
Java tests: NO

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

CMakeで、OpenCVとcontribが適切に組み合わせてあれば、ビルドされたOpenCV-320.jarには
packageとして、org.opencv.arucoが存在しているはずです。
その中に、arucoの命令群がラップされています。
(手元のビルドできたjarにはあります。ゆえに、JArUco?等を拾ってこなくてもよいはずです。)

もしパッケージが含まれていなければ、
・antをインストールしているか
・Pythonをインストールしているか
・環境変数の定義をしているか
を、再度確認の上、
・CMakeのConfigureで表示されるログでjavaの項目をチェックする

出力例) 私の環境では以下のように出力されます。

Java:
ant: C:/apache-ant-1.10.1/bin/ant.bat (ver 1.10.1)
JNI: C:/Program Files/Java/jdk1.8.0_131/include C:/Program Files/Java/jdk1.8.0_131/include/win32 C:/Program Files/Java/jdk1.8.0_131/include
Java wrappers: YES
Java tests: YES

これで、OpenCVのjava向けビルドができるはずです。

投稿2017/06/13 06:50

akio221

総合スコア716

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

watosar

2017/06/13 10:30

回答有難うございます!! 私が馬鹿でした(´・ω・`) cmakeってjavaのビルドもできるんですね通りでおかしい訳だ(´-ω-`) 調べて挑戦してきます!
akio221

2017/06/13 10:48

念のためですが。。。 CMakeは、OS環境用コンパイル定義ファイルを作成するツールですので、 Windows向けのコンパイル用定義ファイルを吐くまで、です。 ゆえに、そいつをGenerateしたら、Configureで作成時に選択した VisualStadioやMinGW等のCコンパイラでビルドです。 その時にjarを作ってくれます。 VS2017がフリーで落ちてるのでお勧め。私も一昨日、動く環境ができたばかりです。 OpenCVの環境作成はJavaにやさしくないのがつらいところ。
watosar

2017/06/13 22:27 編集

え、あっそうなんですね!!! 誤解してましたぁぁ 有難うございます(((o(*゚▽゚*)o)))♡
akio221

2017/06/14 00:15 編集

項目がYesになっていて通らないのであれば、ビルド時の実行エラーですかね? 手順のおさらいを。(私の環境はCMakeが窓版3.9.0-rc1です。)  ・CMake時点(初回Configure押下後)   ・コンパイラが適切であること。   (今どきの窓10PCなら、VS2017のX64になると思われ。32注意)   ・ANT_EXECUTABLEの指定(インストールしたantのbin配下ant.batを指定)   (私は最初、ant.batじゃないのを指定してNGでした)   ・WITH_CUDAを外す   (CUDA入れるにはCUDA向けのCMakeListsやソースを改造しないといけないらしい・・。)   ・BUILD_SHARED_LIBSを外す。   (3.2になったので外さなくてもよいかも)   ・OPENCV_EXTRA_MODULES_PATHを設定する。(contribのモジュール)   ・PYTHON2_EXECUTABLEにPYTHONのインストールが入っていること  ・CMake時点(二回目Configure押下後)   ・BUILD_opencv_javaがあり、チェックされていること   ・CMakeの設定上に、EXTRAモジュールの設定項目が表示されているので   必要なものをチェックする。   ※ ただし、チェックしたモジュールソースのCMakeLists.txtに   ocv_define_moduleの設定がある場合、最後のほうのWRAP pythonを   WRAP python javaにしておかないとjarに出力されない。   が、よっぽど特殊なもの以外はデフォルトで十分です。  ・環境変数まわり(私はANT_HOME忘れてjarができなかった。)   設定例)    ANT_HOME C:\apache-ant-1.10.1    ANT_OPT -Xmx256M    JAVA_HOME C:\Program Files\Java\jdk1.8.0_131    JAVA_AWT_INCLUDE_PATH %JAVA_HOME%\include    JAVA_AWT_LIBRARY %JAVA_HOME%\include\jawt.h    JAVA_INCLUDE_PATH %JAVA_HOME%\include    JAVA_INCLUDE_PATH2 %JAVA_HOME%\include\win32    JAVA_JVM_LIBRARY %JAVA_HOME%\include\jni.h  ・その後、Configureしながら、赤表示がなくなるまでがんばる。  ・CMakeでGenerate  ・Generate完了でCMakeのOpenProjectで開く。  (ここで、VisualStadio2017がひらく。)  ・VSのソリューションエクスプローラーでCMakeTargets配下のINSTALLを右クリックから  「スタートアップに設定」し、画面上部のDebug/Releaseでそれぞれビルド  この操作で、Debugフォルダと、ReleaseフォルダにDLLだのjarだのが生成されます。
watosar

2017/06/14 04:07

OpenProject忘れてましたただのアホですごめんなさい ......pcのストレージ無くなった
akio221

2017/06/14 04:20 編集

ビルドパスのサイズが、私の手元では25.6 GBでした。 要求される手順もさることながら、要求されるスペック面でもつらい戦いです。 出来上がったjarは460kくらい、利用するdllは、 opencv_ffmpeg320_64.dll が16M opencv_java320.dll が35M 苦労のわりにサイズが小さい・・・。
watosar

2017/06/14 23:29

インストールからやり直したら見たことないエラーがぁぁー ...この質問は解決済みとします。 ありがとうございました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問