画像を油絵に変換する
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には整数を指定するのだが、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



