Division By Zero

ゼロで割る

JPEGminiフォトサーバーのリサイズ機能

JPEGminiフォトサーバーは、JPEGminiLinuxスタンドアローン版。コマンドラインで入力フォルダ、出力フォルダ等を指定する以外に、リサイズも指定できるのだが、最も使用しそうな - いろいろな解像度の写真をアスペクト比を維持したまま一定の解像度に変換 - ができない。

jpegminiフォトサーバーのリサイズオプションは、以下のように指定する。

  • rsz=: アスペクト比を維持したまま、元の幅と高さのx%にリサイズします。 x の値は1 から99
  • rsz=width x height: アスペクト比を維持せずに、width x height ピクセルにリサイズ

となると、冒頭の目的を達するにはImageMagick等を使用する必要する必要があるが、下記のどちらがいいだろうか。結果に画質やファイルサイズなどの差は出るだろうか。

  1. ImageMagick/convertでquality 100でリサイズしてから、JPEGmini
  2. ImageMagick/identifyでオリジナルの解像度を調べ、それをベースにJPEGmini

フリーの画像十数枚(解像度:1600x1200程度)とスマートフォンで撮った十数枚(解像度:4128x3096)をWVGA(800x480)、XGA(1024x768, iPad2/mini)、QXGA(2048x1536, iPad Retina)に変換してみたが、大きな差は出なかった。

JPEGminiに与える情報量が多い2.の方が、いい結果が出るかと思ったが、あまり関係ないようだ。つまり、ImageMagickを使ってリサイズを含む色々な変換を行う既存のシステムに対して、ファイルサイズを減らすためにJPEGminiフォトサーバー処理を加える場合、単純に最後に加えるだけでOK。

ただ、JPEGminiのリサイズはconvertに比べるとずいぶん速い(当方環境で4.6倍ほど。JPEGminiは最適化を含めた速度で比較)。改造が面倒でなければ、2.の方法がよさそうだ。今日はこれで終了!