spiritlooseのはてなダイアリー このページをアンテナに追加 RSSフィード

2007-03-08

[][] OpenCVを使って画像の物体認識をするPerlモジュール作った


作った。

http://search.cpan.org/dist/Image-ObjectDetect/


dara日記Rubyの拡張ライブラリを公開されていたので、こりゃやらなくちゃ・・・と思った次第です。すみません。


こんな感じで使えます。Imagerで顔を囲んでみた。

#!/usr/local/bin/perl
use strict;
use warnings;

use Imager;
use Image::ObjectDetect;

my $file = 'picture.jpg';
my $image = Imager->new->read(file => $file);
my $cascade = '/usr/local/share/opencv/haarcascades/haarcascade_frontalface_alt2.xml';
my $detector = Image::ObjectDetect->new($cascade);
my @faces = $detector->detect($file);
# or my @faces = detect_objects($cascade, $file);
for my $face (@faces) {
    $image->box(
        xmin   => $face->{x},
        ymin   => $face->{y},
        xmax   => $face->{x} + $face->{width},
        ymax   => $face->{y} + $face->{height},
        color  => 'red',
        filled => 0,
    );
}
$image->write(file => 'output.jpg');

出来上がりがこれ。


f:id:spiritloose:20070308094111j:image:w440

ソフトウェアジャパンの時のやつです。

楠さん、まつもとさん、id:clonedさん、Nakagawaさん、勝手に写真使わせて頂きました。スミマセン。


とりあえず静止画の物体認識のみです。

これでとりあえずPerlのみで顔認識のWebサービスとかつくれると思います。

riyaみたいなのとか。


フルのバインディングはやってないわけではないんですが・・・

何せライブラリがでかいもんで、動作確認も一苦労でモチベーションあまりあがらず。←言い訳ですすみません


追記

すみません。アップロードするファイルが間違ってました。

0.02をあげてあります。

追記2

OOインターフェースを付けたのと、バグ修正した0.10をあげました。

サンプルも直しました。

とりあえず反映されるまで↓から取ってください。

http://spiritloose.net/tmp/Image-ObjectDetect-0.10.tar.gz

普通にCPANからとってください。

http://search.cpan.org/dist/Image-ObjectDetect/

zapazapa 2007/03/09 23:15 すみません、勝手に写真お借りしてしまいました。
プライバシー保護のために一応顔は隠しておいたのですが…。
問題ある場合は言って下さい。すぐに削除します。
http://zapanet.info/blog/item/940

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証