言語
サーバ関連
ツール
API
読み物
その他
[AD]
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 : {{: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