画像を油絵に変換する - Perl,ImageMagick

この記事は2007年03月03日に書かれた物です

ImageMagickを使用し、画像を油絵のように変換したい。OilPaintメソッドを使用すれば一発で実現できる。

実行例

befor after

サンプル

#!/usr/bin/perl
 
;#
;#画像を油絵に変換する
;#
 
use Image::Magick;
 
#-------------------------------------------#
#初期設定
#-------------------------------------------#
#-- 元画像 --#
my $source = './sample_org1.jpg';
 
#-------------------------------------------#
#画像を油絵化する
#-------------------------------------------#
for($i=0; $i<=10; $i++){
        #-- インスタンス生成 --#
        my $image = Image::Magick->new;
 
        #-- 画像を読込む --#
        $image->Read($source);
 
        #-- 油絵化  --#
        $image->OilPaint(radius=>$i);   #整数を指定
 
        #-- 画像を保存する(JPEG) --#
        $image->Write("./Oil/image_oil_$i.jpg");
 
        #-- オブジェクト破棄  --#
        undef $image;
}

radius値を変更した一覧

radiusには整数を指定するのだが、5を超えた当たりから原型をとどめなくなっている。0~3程度の範囲内で指定するのが良いだろう。また処理にちょっと時間がかかる。あまり大きな画像をリアルタイムに出力するのは難しいようだ。

radius => 0
radius => 1
radius => 2
radius => 3
radius => 4
radius => 5
radius => 6
radius => 7
radius => 8
radius => 9
radius => 10

関連書籍

クーガー株式会社, 石井 敦
ISBN 4844326473
¥ 10,970

昌達 慶仁
ISBN 4797344377
¥ 28,746

Gary Bradski, Adrian K…
ISBN 4873114136
¥ 4,200

failed to fetch data: unkown error

コメント

コメントを入力. Wiki文法が有効です:
N Q K D N