OpenCV installing for Ubuntu 12.04 LTS
OpenCVをUbuntuにいれよう。
取りあえず仕事でUBUNTUにOpenCV、それもバージョン2.2を入れることに。
ちなみに表題通り、Ubuntuのバージョンは12.04LTS。
どうやらapt-getでも入れられるようだが、現在の最新は2.4.7なので、よくわからないで入れるとそれこそわけわかめになっても困るので、パーッケージをビルドして入れることにする。
ビルドの下準備
一先ずOpenCVのGithubから、OpenCVの圧縮ファイル(OpenCV-2.2.0.tar.bz2)を拾ってくる。
適当なディレクトリ(今回は/home/OpenCV)にコピーして、
tar xvfj OpenCV-2.2.0.tar.bz2
で解凍。
これで/home/USERNAME/OpenCV/OpenCV-2.2.0にディレクトリが出来ている。
次いで、なんかcmakeなるものが必要らしいので、
sudo apt-get install cmake
sudo apt-get install cmake-curses-gui
で入れておくらしい。下段のはGUIでいろいろビルド設定ができるらしいが、今回は良くわからんので割愛。
参考 :ccmakeのすすめ
さあビルド
とりあえず↑のディレクトリ(/home/USERNAME/OpenCV/OpenCV-2.2.0)にcdで移してから、
cmake .
でなにやらビルドの設定ファイルを吐き出すらしい。
ここで注意したいのは、“cmake”と”.”の間には半角スペースが必要だということだ。
これに気付くのに結構かかった。
そんで
make
する。これでようやくビルドができ……ない!?
ビルドできない原因を探す
よくわからないエラーが山のように吐かれる。一応エラー数は2になっていたが、CUIで文字列を立て並べられると反射的にやめたくなってくる。
とりあえずエラー内容をさかのぼりにらめっこすると、なにやら
/home/*USERNAME*/OpenCV/OpenCV-2.2.0/modules/core/include/opencv2/core/core.hpp
で
エラー:'ptrdiff_t' does not name a type
が出ている。これでググると英語のページがヒット。どうやらOpenCVのバグらしい。マジかよ。
↑のページに書いてある場合とは若干違うようだが、例にならってエラーを吐いているcore.hppに
#include <stddef.h>
を足すといいらしい。
これでビルドが進むハズ。
やはり世の中うまくはいかない
案の定エラーを吐く。ただし前回よりは進み、日本語の警告文が増えてきたので前身はしているはずだ。
さあて次のエラーは何かと言うと、
/home/*USERNAME*/OpenCV/OpenCV-2.2.0/modules/hightgui/src/cap_v4l.cpp
で
致命的なエラー:linux videodev.h:そのようなファイルやディレクトリはありません
だと。
ほう、致命的なエラーとな。
しかもさっきと様相が違う。んで例のごとくググれば、どうやら最近のLinux系には無いヘッダファイルらしい。(参考)
一応videodev2.hなるものはあるらしいけど、どうにも色々面倒そう。
とサーフィンしていると、なんと公式でリファレンスされているではないか。
これによれば、どうやらV4Lという機能を切ればいいっぽい。
ここでようやく活躍するよccmakeが!
使い方はcmakeと同様に、そのディレクトリまで行って
ccmake .
するだけ。すると何やらON、OFFが右側に書かれたテーブルが出てくるので、カーソルキーで左側に
WITH_V4L
と書かれた場所を探しだし、EnterでOFFにする。cを押してConfigrationしたあと、qでccmakeを終了し、再度make!
戦いは終結へ
できた。ようやくビルドできた。
ここまで苦節数時間。我ながらお疲れ様である。
とりあえず今日はここまででどっと疲れたので、後始末だけを書いて締めにしよう。
ここまで来たらあとは
sudo make install
sudo ldconfig
をして終了らしい。なにをしているのかはさっぱりだが、ひとまずはこれでOpenCVが入ったことになるらしい。
これらがきちんとできているかはまだなんとも言えないが、とりあえずこれでよしとしよう。
おそらくまた戦うことになるのだろうが……ひとまずの安息に興じよう。
全体参考
0 件のコメント:
コメントを投稿