画像にノイズを加える
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




