Ruby/OpenCV (blueruby.mydns.jp) の開発が再開されてたのに、全然気が付かなかったー。OpenCV 1.0rc から 1.0 へ対応した (進行中?) のようです。
これまで使ってたノートは別の任務中なので、新しい PC に新しく環境を構築しなおしました。すぐ忘れるので、以下メモ。
1. Cygwin (cygwin.com) のインストール (cvs, gcc-mingw-g++, ruby, make も一緒に入れる)
2. OpenCV (sourceforge.net) のインストール。今回は 1.0rc ではなく 1.0 の方。※ 現在の cvs-trunk は、OpenCV 1.0 用なので、1.0rc では make が通らない。
3. ffcall (haible.de) のインストール。
cygwin> ./configure
cygwin> make
cygwin> make install
4. Ruby/OpenCV の checkout。
cygwin> cvs -d :pserver:anonymous@rubyforge.org:/var/cvs/opencv checkout CVSROOT
5. OpenCV リソースのコピー。
cygwin> ./misc/setup.cygwin.sh
6. extconf.rb の実行。
cygwin> ruby extconf.rb --with-opencv-include=/usr/local/include/opencv --with-opt-lib=/usr/local/lib
7.Ruby/OpenCV の make とインストール。
cygwin> make
cygwin> make install
さっそく 画像から円を抽出する (blueruby.mydns.jp) を試してみた。うまいこと認識させるには、パラメータの設定が難しいなぁ。元画像が難易度高いのかもしれない。

もうみんないい加減 laughingman demo も飽きたでしょ、ってことで次の demo を模索。
Ruby/OpenCV の開発者である lsxi さんの blog に載ってた、画像修復 (Inpaint) を使ってみる (blueruby.mydns.jp) を使えば、webcam からの動画に光学迷彩っぽい効果がかけられるかなって思ってテスト。

適当に貼り合わせた script のわりに、なかなか面白い。べ、別に年金が貰えないことを怒ってるんじゃないからねっ。青いものを探したら年金手帳が落ちてたってだけです。あと元動画はたるかったので、倍速再生してます。光の加減によって見えたり消えたりしちゃってるので、mask の作り方をもっと工夫する必要がありそうです。
以下、ソース。
#!/usr/local/bin/ruby
# face_detect2.rb
$: << ".."
require "opencv"
include OpenCV
num_dilate = 6
radius = 2
window = GUI::Window.new("face detect")
capture = CvCapture.open
while true
key = GUI::wait_key(1)
image = capture.query
b, g, r = image.split
original_mask = r.threshold_binary_inverse(0x33, 0xFF) & b.threshold_binary(0x66, 0xFF)
mask = original_mask.dilate(nil, num_dilate)
window.show image.inpaint_ns(mask, radius)
next unless key
case key.chr
when "\e"
exit
end
end
sample/face_detect.rb と Inpaint のソースをニコイチしただけです。手抜き過ぎで、ごめんなさい。
【サヤカ】さん→ 24才です。主人が急に冷たくなっちゃいました。
め、目の前で死んだのか!?
もう私には興味がないのかな・・・
良かった。病気の主人はいないんだな。
って、良くねぇ。病床に臥す痩せて細った主人がだんだん冷たくなっていって、モニターがフラットになって、主治医が静かに首を横に振る白い部屋をありありと妄想しちゃったよ。
いくら寝れないからと言って、spam メールなんて読むもんじゃないな。
記録 371 匹。三回くらいやってもう腕が痛いし満足した。1,000 匹オーバーとかどうなってるの? → これでスライム斬りまくろうぜwww (imihu.blog30.fc2.com) → SLIME BASH@DRAGON QUEST SWORDS (square-enix.co.jp)

とりあえず、Ruby/OpenCV でスライムを認識出来ることもわかった。でも良い記録を狙うなら、オリハルコン集めたほうが早い。
(追記) 疲れたとかいいつつ、もう一度やったら 465 匹/494 位と少しだけ向上。やっぱオリハルコン重要。
!面白い!
いい時代になったものです!
コメントしようしようと思っていたら期末試験が迫ってきて遅くなってしもた (= ´ω`)
> webcam からの動画に光学迷彩っぽい効果がかけられるかなって思って
毎度のごとく発想が面白いですな!うちも D でなんか作ってみよう...。たぶん物理エンジン使ったやつになるかと思います。
→ ttp://zinnia.dyndns.org/~hiki/SandBox/?2007%C7%AF%B2%C6-1%A1%CA%B4%D8%C5%EC%A1%CB
何やら SDL オフが 7/16 にあるみたいです。一応これだけ伝えておきますね。無理は禁物です (= ゜ω゜)=3
期末ガンガレー、物理エンジンネタのためにもガンガレー。
SDL オフ! 行きたい。七月は忙しいけど行きたい。けど 16 日の予定はないはず!と思ったら平日、しかも月曜日なのか (´・ω・`)