大量画像の一括リサイズ / “SIPS”

 仕事柄、日々数千枚単位で大量の写真データを扱っていまして、千枚以上の写真を一括で縮小したい時が結構あります。何かいいソフトは無いものかと日々探していましたが、これがなかなか見つからず…
 もちろん画像縮小に特化したフリーソフトはあるのですが(ResizeItとかDropFixとか)、それぞれ一長一短で、保存場所が自由に指定できなかったり、EXIF(撮影情報)が消えてしまったり、数百枚を超えて大量に処理するとダウンしちゃったりと、(一般には問題なくても)うちで使うには問題がありました。
 ところがふとあるとき見つけたのが、もはやソフトと呼ぶのか分からないのですが、ターミナルで”sips”というコマンドを使う方法。これなら以前の問題を一気に解消できます。
 どのOS(バージョン)から実装されているのか未確認ですが、まずターミナルを起動。Spotlightで「ターミナル」と打っても出てくるし、「アプリケーション」-「ユーティリティ」に入っているアイコンをクリックでもOK。
 基本的な使い方は、
— $ sips -(処理の設定) (元ファイル名) –out (出力ファイル名)
 と打つだけです。例として今回は、撮影したCFカードの中の写真を、一括で縮小(最大幅800pixel)しながら内蔵ハードディスクに保存するコマンドを載せておきます。
1. まず画像のあるカード内のフォルダに移動(フォルダ名は適宜書き変えてください。もしくは”cd “と打った後、目的のフォルダをFinderからターミナルへDrag&Dropするだけで入力できます。)
— $ cd /Volumes/EOS_DIGITAL/DCIM/100EOS5D
2. フォルダ内の全.JPGファイルを対象に縮小+出力先へ書き込み
— $ for file in `ls *.JPG`
> do
> sips -Z 800 ${file} –out /Volumes/MacintoshHD/Resized/${file}
> done
※ ; で区切りながら一行で書いても大丈夫です。あとfor文で使ってる ls *.JPG を囲っているのはバッククォートで、キーボードにもよるかも知れませんが、Shift+@で入力できます。
 これで全部の画像が縮小されながら出力先に同じ名前で書き込まれていきます。結構速い。しかも今何番を処理してるのかが分かるので、進捗状況確認もらくちんです。もちろん出力先フォルダは、マウントさえしていればネットワーク上のNASや別のマシンでもOK。
 ちなみにこれをAutomatorアクションに組み込んでしまえば、多少フォルダ指定とかで不便さは残るものの、単体アプリケーションっぽくも使えます。
 また出力ファイルの指定の仕方で、接頭辞/接尾辞をつけたり、同じフォルダ内に出力することも自在に出来ます。(こだわるには正規表現ってのを知る必要があるんですが、私は詳しくありません…)
 sipsは処理の設定でいろんな事が出来るので、必要な方は色々試してみてください。以下に「sips -h」と打つと出てくるヘルプを載せておきます。
※もっと多彩な処理をしたい方は、image magick というのが使えるそうです。以下のリンクを参照または紹介してるページを探してみてはいかがでしょうか。
image magick


— $ sips -h
sips 10.4.4 – scriptable image processing system.
This tool is used to query or modify raster image files and ColorSync ICC profiles.
Its functionality can also be used through the “Image Events” AppleScript suite.
Usages:
sips [-h, –help]
sips [-H, –helpProperties]
sips [image-query-functions] imagefile …
sips [profile-query-functions] profile …
sips [image modification functions] imagefile …
[–out result-file-or-dir]
sips [profile modification functions] profile …
[–out result-file-or-dir]
Profile query functions:
-g, –getProperty key
-X, –extractTag tag tagFile
-v, –verify
Image query functions:
-g, –getProperty key
-x, –extractProfile profile
Profile modification functions:
-s, –setProperty key value
-d, –deleteProperty key
–deleteTag tag
–copyTag srcTag dstTag
–loadTag tag tagFile
–repair
Image modification functions:
-s, –setProperty key value
-d, –deleteProperty key
-e, –embedProfile profile
-E, –embedProfileIfNone profile
-m, –matchTo profile
-M, –matchToWithIntent profile intent
–deleteColorManagementProperties
-r, –rotate degreesCW
-f, –flip horizontal|vertical
-c, –cropToHeightWidth pixelsH pixelsW
-p, –padToHeightWidth pixelsH pixelsW
–padColor hexcolor
-z, –resampleHeightWidth pixelsH pixelsW
–resampleWidth pixelsW
–resampleHeight pixelsH
-Z, –resampleHeightWidthMax pixelsWH
-i, –addIcon

シェアする

  • このエントリーをはてなブックマークに追加

フォローする