2013年11月19日火曜日

UBUNTUにOpenCV2.2を入れたい。

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のバグらしい。マジかよ。

参考Ubuntu_opencv_Bug

↑のページに書いてある場合とは若干違うようだが、例にならってエラーを吐いているcore.hpp

#include <stddef.h>

を足すといいらしい。
これでビルドが進むハズ。

やはり世の中うまくはいかない

案の定エラーを吐く。ただし前回よりは進み、日本語の警告文が増えてきたので前身はしているはずだ。
さあて次のエラーは何かと言うと、

/home/*USERNAME*/OpenCV/OpenCV-2.2.0/modules/hightgui/src/cap_v4l.cpp  

致命的なエラー:linux videodev.h:そのようなファイルやディレクトリはありません

だと。
ほう、致命的なエラーとな。   しかもさっきと様相が違う。んで例のごとくググれば、どうやら最近のLinux系には無いヘッダファイルらしい。(参考
一応videodev2.hなるものはあるらしいけど、どうにも色々面倒そう。
とサーフィンしていると、なんと公式でリファレンスされているではないか。

参考Ubuntu11.04でOpenCV2.2をコンパイル

これによれば、どうやらV4Lという機能を切ればいいっぽい。
ここでようやく活躍するよccmakeが!
使い方はcmakeと同様に、そのディレクトリまで行って

ccmake .

するだけ。すると何やらON、OFFが右側に書かれたテーブルが出てくるので、カーソルキーで左側に

WITH_V4L

と書かれた場所を探しだし、EnterでOFFにする。cを押してConfigrationしたあと、qでccmakeを終了し、再度make

戦いは終結へ

できた。ようやくビルドできた。
ここまで苦節数時間。我ながらお疲れ様である。
とりあえず今日はここまででどっと疲れたので、後始末だけを書いて締めにしよう。
ここまで来たらあとは

sudo make install  
sudo ldconfig  

をして終了らしい。なにをしているのかはさっぱりだが、ひとまずはこれでOpenCVが入ったことになるらしい。
これらがきちんとできているかはまだなんとも言えないが、とりあえずこれでよしとしよう。
おそらくまた戦うことになるのだろうが……ひとまずの安息に興じよう。

全体参考

2013年10月27日日曜日

Vimについてのちょっとしたメモ

Vimをちょっと触ってみたので、一応少し覚えたコマンドをメモ。

:w
保存する。このままだと上書き保存。この後ろにファイルの名前を入れると多分別名保存?

:q!
保存しないで終了

=G
オートインデント。ビジュアルモードで選択してからだと、その部分だけをAIできる。

y
コピー。vでビジュアルモードで選択してから押す。あるいはywなど、単語ごと選択などもできるみたい。この辺のコマンドは面倒なのでまだ覚えていない。
それよりも驚きというか、へえ~となるのは、vimではコピーの事をヤンクというらしい
yyならその行ごとヤンクできる。

p
ヤンクした文字列をカーソルの後ろにペーストする。前にペーストしたければP

“0p
実は↑のヤンクだと、一度ペーストしたあとはヤンク時にカーソルがあった部分を同時にヤンクしてしまう。ので、連続コピーができない。
しかしこのコマンドならば、レジスタ指定扱いになるので、連続してペーストできる。らしい。面倒。

:colorscheme[colorname]
vimの配色を一時的にいじれる。colornameにはテンプレートの名前が入るみたい。colornameの直前まで打つとtabで補完できるので、名前が分からなくても適当に回せば出てくる。ただしロクなのが無い。

dd
行ごと削除。

u , Ctrl+r
アンドゥとリドゥ。ただしモード単位で戻すことになる。つまりはインサートモードで編集したら、その一回文丸ごと元に戻すようだ。

とりあえず今日調べたのはこの辺。

2013年10月25日金曜日

Irvineを使った連番URL画像のDL方法


Irvineを利用して連番URLの画像を保存するやり方。
今回使用するのはIrvine1.3.0だ。
Irvineでは連番URLは、次のように表現される。
URL Irive
http://www.renban01.jpg ~ http://www.renban20.jpg http://www.renban[01-20].jpg
これをクリップボードへコピーした状態でIrvineを起動し、[ツール]-[リンクのインポート]へと進む。
別ウィンドウが開けば、上から2行目のアイコン群の左から5番目にURLを展開して貼り付けというアイコンがある。
これをクリックすれば下のウィンドウに連番アドレスが展開されるので、これらを全選択し右クリックからダウンロードへ登録を行う。
あとはメイン画面に戻るといつの間にかDLが始まっている。簡単でしょ?
ちなみにデフォルトのDL場所は[マイドキュメント]-[Downloaded Files]にある。
Written with StackEdit.