ImageMagick(PerlMagick)の簡単な機能を使ってみました。

ImageMagickという画像処理のツールと、そのPerlでのインターフェースの PerlMagick(Image::Magick というモジュール)を使ってみました。

機能はここにあげたものより沢山ありますが、画像処理とかに詳しくないので まだ、すべては使いこなせていません。

実行は、Win95でコンパイル済みのバイナリ を使ってやってみました。
ツールは、 ImageMagick の ftp からとってきた ImageMagick-win95.zip をPerlは ActivePerl でImage-Magickを インストールしてます。

処理項目







大きさを変える


Minify (縦、横を半分に小さく縮める)

縦、横を半分に小さく縮める [処理画像例] [サンプルソース]

[perl] $i->Minify();

Magnify (縦、横を2倍に大きく広げる)

縦、横を2倍に大きく広げる [処理画像例] [サンプルソース]

[perl] $i->Magnify();

Scale (望みの大きさにする)

縦、横をつたえて望みの大きさにする [処理画像例] [サンプルソース]

[perl] $i2->Scale(width=>400, height=>400);

[tool] convert -size 256x192 original.jpg out.jpg

※convert での指定は、 "-size" で、「横幅ピクセル」x「縦幅ピクセル」 で指定。

Sample (望みの大きさにする)

縦、横をつたえて望みの大きさにする [処理画像例] [サンプルソース]

[perl] $i2->Sample(width=>400, height=>400);

[tool] convert -sample 256x192 original.jpg out.jpg

※convert での指定は、 「横幅ピクセル」x「縦幅ピクセル」 で指定。

Zoom (望みの大きさにする)

縦、横をつたえて望みの大きさにする [処理画像例] [サンプルソース]

[perl] $i2->Zoom(width=>100, height=>100, blur=>0.8, filter=>Point);

※filter は {Point, Box, Triangle, Hermite, Hanning, Hamming, Blackman, Gaussian, Quadratic, Cubic, Catrom, Mitchell, Lanczos, Bessel, Sinc} から指定。
blur > 1 for blurry or < 1 for sharp


向きを変える


Rotate (向きを変える)

向きを変える [処理画像例] [サンプルソース]

[perl] $i2->Rotate(degrees=>45,crop=>True,sharpen=>True);

[tool] convert  -rotate 45 original.jpg out.jpg

※右方向への角度を指定する。


望みのところを切り出す


Crop (望みのところを切り出す)

向きを変える [処理画像例] [サンプルソース]

[perl] $i2->Crop(width=>100, height=>100, x=>95, y=>80);

[tool] convert -crop 20x50+80+80 original.jpg out.jpg

※convert での指定は、「横幅ピクセル」x「縦幅ピクセル」+「横開始ピクセル」+「縦開始ピクセル」

Chop (望みのところを切り捨てる)

向きを変える [処理画像例] [サンプルソース]

[perl] $i2->Chop(geometry=>'100x100+75+75');

1 2 3
4 5 6
7 8 9
-->
1 3
7 9
「横開始ピクセル(x)」から「横幅ピクセル(width)」および、 「縦開始ピクセル(y)」から「縦幅ピクセル(height)」 までを切り取る。
geometry の指定の時は、 {width}x{height}+{x}+{y}

(width=>100, height=>50, x=>95, y=>85)と(geometry=>100x50+95+85)は同じ意味。


形を変えたりする


Flip (上と下をさかさにする)

上と下をさかさにする。 [処理画像例] [サンプルソース]

[perl] $i2->Flip();

[tool] convert -flip original.jpg out.jpg

Flop (左と右をさかさにする)

左と右をさかさにする。 [処理画像例] [サンプルソース]

[perl] $i2->Flop();

[tool] convert -flop original.jpg out.jpg

Roll (ずらす)

ピクセルをずらし、あふれた絵はさかさ側に戻す。 [処理画像例] [サンプルソース]

[perl] $i2->Roll(x=>25, y=>15);

[tool] convert -roll -50+0 original.jpg out.jpg

ピクセル数を指定する。
convert での指定は、 {+-}横ピクセル{+-}縦ピクセル で 間にスペースを入れない。

Swirl (うずまき)

まんなかからねじる。 [処理画像例] [サンプルソース]

[perl] $i2->Swirl(degrees=>120);

[tool] convert -swirl 120 original.jpg out.jpg

※指定するのは角度でしょうか。

Implode (まんなかに引き寄せる)

まんなかに引き寄せる。(または、その逆) [処理画像例] [サンプルソース]

[perl] $i2->Swirl(degrees=>120);

[tool] convert -implode -10 original.jpg out.jpg

※指定するのは、パーセント。 引き寄せる(0 - 99.9%) 、その逆 (-99.9 - 0%)

Shear (菱形に変形する)

菱形に変形する [処理画像例] [サンプルソース]

[perl] $i2->Shear('15x45');

[tool] convert -implode -10 original.jpg out.jpg

※指定するのは、パーセント。 引き寄せる(0 - 99.9%) 、その逆 (-99.9 - 0%)


[Home]