イントロダクション
ラズパイとWindowsにOpenCVをインストールして、次のような形で開発がしたいと思い環境構築をすることにしました。
- WindowsでOpenCVの実装をする
- ラズパイでOpenCVを起動する
そして、ラズパイではIntellJなどの開発ツールが遅いので「Geany」という開発ツールを使用することにしました。使用しているラズパイは32ビットです。
ラズパイへのインストール
Raspberry Pi OSにはデフォルトでインストールされているようです。追加で下のコマンドをたたきます。
apt-get install geany-plugins
これで、プロジェクトを設定して起動することができます。
そして、Gitからクローンします。
Windowsへのインストール
Geanyのサイトでダウンロードできます。
ダウンローするのはインストーラー(*.msi)なので、クリック一発でインストールできます。
そして、プラグインも同様にGenyサイトからダウンロードできます。
ダウンロードして実行したら下のような形でセットアップします。
Mavenプロジェクトの設定
-
Mavenをインストールする
こちらのApacheサイトからダウンロードします。ダウンロードしたら、適当な場所に解凍してその場所を環境変数の「PATH」に追加します。 -
JAVA_HOMEを設定する
環境変数に「JAVA_HOME」を追加します。その時に、「bin」まで設定しないようにしましょう。
これで、Mavenを使用できます。Linux上では、コマンドで実行しますのでWindowsでも困んで実行できるようにしておくと後が楽です。
実際に筆者は、下記でOpenCVでのハローワールドを実行したのですが、大分苦労しました。結局のところはCLASSPATH変数を定義するとパッケージ指定でのコマンド実行ができなくなるので、CPオプションで実行するのが良いという結論に至りました。
実行
Geanyでコンパイルのコマンドを設定します。
上部のメニュー、ビルド→ビルドの設定で下のような画面を開きます。タブは「ビルド」を選択します。
文字 | 意味 |
---|---|
%f | メニュー項目が選択されたときにエディタで選択されたファイルのファイル名に置き換えられます。 |
%e | 同じファイル名で置き換えられますが、最後の拡張子は付きません。 |
%d | メニュー項目が選択されたときにエディタで選択されたファイルのディレクトリの絶対パスに置き換えられます。 |
%p | 現在開いているプロジェクトのベース ディレクトリの絶対パスに置き換えられます。 |
コンパイル
javacコマンドに次のパラメータを設定します。CPオプションで「JARファイル、ライブラリ」のパスを設定します。
javac -cp "C:\OpenCV\opencv\build\java\opencv-480.jar;C:\OpenCV\opencv\build\java\x86" "%f"
実行
javaコマンドに以下のパラメータを設定します。CPオプションでJARファイル、-DでシステムプロパティにOpenCVのDLL(もしくはSO)ファイル
ちなみに、CPオプションの一番初めにある「.」はカレントディレクトリを示します。なのでコマンドを実行するときの現在位置もクラスパスに追加する形で実行します。
java -cp ".;C:\OpenCV\opencv\build\java\opencv-480.jar" -Djava.library.path="C:\OpenCV\opencv\build\java\x64" "src.main.java.cam.HelloCV"
コマンドからの実行結果です。ちなみに、こまんどぷろんぷとでは、「promt $$」とコマンドをたたいているので、パスがコマンドプロンプトに表示されていません。