Imagerのインストール

Perlで画像を処理するためのモジュールであるImagerをインストールする。
現在のバージョンは0.62のよう。

まずインストールする前に画像用ライブラリをインストールしておく。
PNGを処理したいからlibpngとついでにlibjpegを入れる。
FCならyumでインストールがすぐできる。
rootになって

 $ yum install libpng-devel
 $ yum install libjpeg-devel


そしてImagerのインストール。
cpanだから1つコマンド打つだけだけど・・・

 $ cpan
 $ install Imager

これもrootでやったほうがいいのかもしれない。
普通ユーザでやったらエラーなった。


これで使えるようになったハズ。


で,使い方。
今回は読み込んだ画像の指定した色の座標を探す。

use Imager;

# 画像ファイル読込み
my $img = Imager->new();
$img->read( file => 'hoge.png', type => 'png' ) or
    die $img->errstr();

# 探したい色を作成
my $search_color = Imager::Color->new( red => 0, green => 128, blue => 255, alpha => 0 );

# 探したい色データがどの座標にあるのかを取得
my $x = 100;
my $search_y;
for( my $y = 0; $y < 100; $y++ ){
    my $color = $img->getpixel( x => $x, y => $y );

    # どんな色が取得されたか見たい場合は
    my ( $red, $green, $blue, $alpha ) = $color->rgba();
    print "R : $red, G : $green, B : $blue, A : $alpha\n";

    # 取得した色が探したかった色かどうかを判定
    if( $color->equals( other => $search_color ) ){
        $search_y = $y;
        last;
    }
}

これは画像処理とはいわない気もするな・・・。