とあるエンジニアの闇歴史帳

コピペで使える便利Wiki ※現在構築中です。

ユーザ用ツール


サイドバー

言語

サーバ関連

ツール

API

読み物

その他

perl:imagemagick:oilpaint

画像を油絵に変換する - 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 : {{:perl:imagemagick:image_oil_0.jpg?nolink|}}
= radius => 1 : {{:perl:imagemagick:image_oil_1.jpg?nolink|}}
= radius => 2 : {{:perl:imagemagick:image_oil_2.jpg?nolink|}}
= radius => 3 : {{:perl:imagemagick:image_oil_3.jpg?nolink|}}
= radius => 4 : {{:perl:imagemagick:image_oil_4.jpg?nolink|}}
= radius => 5 : {{:perl:imagemagick:image_oil_5.jpg?nolink|}}
= radius => 6 : {{:perl:imagemagick:image_oil_6.jpg?nolink|}}
= radius => 7 : {{:perl:imagemagick:image_oil_7.jpg?nolink|}}
= radius => 8 : {{:perl:imagemagick:image_oil_8.jpg?nolink|}}
= radius => 9 : {{:perl:imagemagick:image_oil_9.jpg?nolink|}}
= radius => 10 : {{:perl:imagemagick:image_oil_10.jpg?nolink|}}

関連書籍

failed to fetch data: unkown error

failed to fetch data: unkown error

failed to fetch data: unkown error

failed to fetch data: unkown error

failed to fetch data: unkown error

関連ページ

perl/imagemagick/oilpaint.txt · 最終更新: 2020/06/23 14:10 (外部編集)