OpenCVのPerlモジュール作成中


OpenCVが1.0リリースされたのをきっかけにPerlモジュールを作ってて、APIの量が多すぎて放置気味だったんだけど、すこしやる気が出てきたので実装中。なんとなくガワはできてきた。


今のところこんな感じのことが出来る。かなり一部だけ紹介。

my $image = OpenCV->new( # 読み込み
    filename => 't/image/test.jpg',
) or die;
my $clone = $image->CloneImage; # クローン
$clone->Resize( # リサイズ
    width  => 500,
    height => 156,
);
$clone->CvtColor( # グレーに
    code  => BGR2GRAY,
    color => 1,
);
$clone->Erode; # 収縮

$clone->Dilate; # 膨張

$clone->Smooth; # 平滑化

$clone->PyrDown; # ダウンサンプリング

$clone->PyrUp; # アップサンプリング

my $font = OpenCV::Font->new(
    font_face => SIMPLEX,
    hscale    => 1,
    vscale    => 1,
    line_type => AA, # アンチエイリアス
);
$clone->PutText( # 文字の描画
    x     => 20,
    y     => 30,
    font  => $font,
    color => RGB(255,0,0),
    text  => 'Perl',
);
$clone->SaveImage('t/image/smooth.jpg'); # 保存

こんな感じで。


Perlの画像処理ライブラリだと、GDもあればImageMagickもあるしImagerもあるので正直困ってないんだけど、OpenCVは他のライブラリにはない機能があったりするので(顔認識とかね)、面白いのではないかと。


APIの量が多いのでいつリリースできるかはわかりません。

近いうちにリポジトリは公開しようかなぁ。 Google Code Homeとかで。


一緒に作ってくれる人歓迎です。


追記

とりあえず物体認識のモジュールは作りました。

http://d.hatena.ne.jp/spiritloose/20070308/1173314595