画像を「上下」「左右」同時に反転させる - Perl,ImageMagick

ImageMagickを使用し、画像を「上下」「左右」同時に反対にしたい。FlipメソッドとFlopメソッドを同時(順番)に使用すれば良い。ImageMagickは非常に柔軟にコードを書くことができる。

実行結果

※サンプル画像は有料の素材集を利用しています。転載はおやめください。

befor after
オリジナル画像 上下左右反転した画像

サンプル

#!/usr/bin/perl

;#
;#画像を「上下」「左右」同時に反転する
;#

use Image::Magick;

#-------------------------------------------#
#初期設定
#-------------------------------------------#
#-- 元画像 --#
my $source = './sample_org1.jpg';


#-------------------------------------------#
#上下、左右を同時に逆にする
#-------------------------------------------#
#-- インスタンス生成 --#
my $image = Image::Magick->new;

#-- 画像を読込む --#
$image->Read($source);

#-- 上下反転 --#
$image->Flip;

#-- 左右反転 --#
$image->Flop;

#-- 画像を保存する(JPEG) --#
$image->Write("./image_flipflop.jpg");

ちょっと大きめの実行結果です。

少し大きめの上下左右反転した画像

ちなみに、上はFlip,Flopの順番で使用していますが、逆にFlop,Flipとしても結果は変わりません。プログラム関係なく、普通に頭の中でイメージした通りに変換してくれます。

Flip,Flopはもちろん個別に使用することができます。左右に反転するのは「Flop」、上下に反転するのは「Flip」です。