画像を木炭画に変換する
ImageMagickを使用し、画像を白黒の木炭画のように変換したい。Charcoalメソッドを使用すれば一発で実現できる。
| ○Befor | ○After | |
![]() |
→ | ![]() |
#!/usr/bin/perl
;#
;#画像を木炭画に変換する
;#
use Image::Magick;
#-------------------------------------------#
#初期設定
#-------------------------------------------#
#-- 元画像 --#
my $source = './sample_org1_s.jpg';
#-------------------------------------------#
#画像を木炭画にする
#-------------------------------------------#
for($i=0; $i<10; $i+=2){
for($j=0; $j<10; $j+=2){
#-- インスタンス生成 --#
my $image = Image::Magick->new;
#-- 画像を読込む --#
$image->Read($source);
#-- 木炭画へ変換 --#
$image->Charcoal(
radius => $i
, sigma => $j
);
#-- 画像を保存する(JPEG) --#
$image->Write("./image_charcoal_$i$j.jpg");
#-- オブジェクトを破棄 --#
undef $image;
}
}
実行結果を以下に抜粋した。縦がradius、横がsigmaをそれぞれ変更した値である。
ここでは整数を指定しているが、radius、sigmaにはそれぞれ浮動小数点を指定することが出来る。それぞれ半径(radius)と標準偏差(sigma)だと思われるが、実行結果を見て分かるとおり大きな値を与えると原型をどんどんとどめないほどの影響を与えられる。
| 2 | 4 | 8 | |
| 2 | ![]() |
![]() |
![]() |
| 4 | ![]() |
![]() |
![]() |
| 6 | ![]() |
![]() |
![]() |
| 8 | ![]() |
![]() |
![]() |













