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 | |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 |