ImageMagickを使用し、画像にノイズを加えたい。AddNoiseメソッドを使用すれば簡単に実現できる。
実行例
※サンプル画像は有料の素材集を利用しています。転載はおやめください。
befor | after |
---|---|
サンプル
#!/usr/bin/perl ;# ;#画像にノイズを加える ;# use Image::Magick; #-------------------------------------------# #初期設定 #-------------------------------------------# #-- 元画像 --# my $source = './sample_org1.jpg'; #-- ノイズの種類 --# my @noise = ( 'Uniform' , 'Gaussian' , 'Multiplicative' , 'Impulse' , 'Laplacian' , 'Poisson' ); #-------------------------------------------# #ノイズ画像を生成する #-------------------------------------------# foreach my $effect ( @noise ){ #-- インスタンス生成 --# my $image = Image::Magick->new; #-- 画像を読込む --# $image->Read($source); #-- ノイズを加える --# $image->AddNoise( noise => $effect ); #-- 画像を保存する(JPEG) --# $image->Write("./AddNoise_$effect.jpg"); #-- オブジェクトを破棄 --# undef $image; }
以下が実行結果です。「Uniform」は間違えたわけではなく、指定しても何も変わらないみたいです。
実行例(ノイズ一覧)
ノイズの種類 | 画像 |
---|---|
Uniform | |
Gaussian | |
Multiplicative | |
Impulse | |
Laplacian | |
Poisson |