画像整理スクリプトを作ってみた。


私は、普段iPhoneで写真を撮影していて、その写真をPicboxというiPhoneアプリDropboxにアップロードとして保存しています。
写真の保存がワンタッチで実行できて便利なのですが、あえて不満点を挙げると

 

  1. ファイル名が、例えば FCA01FAD-146A-4155-86C9-B881C1CC0643.JPG みたいな、人間にとって意味のないファイル名になってDropboxに保存されるいる。
  2. 写真そのものの上下が必ずしもファイルとしての上下と一致せず、横倒しになったままの写真が交じる。
  3. 解像度がそのままなので画像の大きさがまちまちになりやすい。なのでブログに貼ったりPicasaにアップロードするのには不適切。
    という点があります。

そこで対応策として Dropbox Automator http://wappwolf.com/dropboxautomator というWebサービスDropboxディレクトリーをアクセスさせて、画像の自動ローテートでの上下合わせなどに使っていたのですが、処理量が多いとうまく動かなくなるなどの課題があり、やはり手作りすることにしました。

このスクリプトは、PCの特定のディレクトリーに置かれたjpegファイルに対して、Automatorと同じくPROCESSED と ORIGINALという2つのサブディレクトリを作って、ORIGINALに原本を保存し、PROCESSEDには、加工済みのファイルを置きます。
加工は3段階

  1. ファイル名を日付名に変更、ファイルタイムスタンプを撮影日に直す
  2. exif情報に合わせた上下自動回転合わせ
  3. 1024x768ピクセルにリサイズ

です。

 

 

動作イメージ図



convert.exe は ImageMagikのものを使用します。http://www.imagemagick.org/script/index.php
jhead.exe は http://www.sentex.net/~mwandel/jhead/ あたりから落とします。

コードの特徴としてJNA(Java Native Access)を使って、Java単独ではできない現行ディレクトリーの移動を行なっていなす。

※  uehajさんの Groovy+JNA を参考にさせて頂きました。 http://d.hatena.ne.jp/uehaj/20091215/1260872851