横スキャンした画像の自動回転バッチ作成

Pocket

ScanSnapで書籍をスキャンする時、B5以下のものなら横向きでやると若干速く済むのと、歪みも少ないような気がします。ただ、当然ながら表と裏で互い違いに寝た状態になってしまうので、偶数ページと奇数ページそれぞれで90度または270度回転してやる必要がでてきます。今まではこちらに公開したバッチファイルで偶数奇数でフォルダ分けするとこまでして、後は手作業で回転ツールにかけていたんですが、今回hkondo氏と共同で回転まで含めて自動化するバッチファイルを作成してみました。同じようなことで手間をかけてる方の参考になればと公開してみます。

まず回転処理自体はJPEGの無劣化回転が行えるjpegtrran.exeを使います。今回はこちらからダウンロードできるjpeg6b_win32_jp.zipという配布ファイルに含まれているものを利用させていただきました。

で、バッチファイルの中身は以下のようになります。

@echo off
REM 回転に用いるjpegtran.exeのパスをフルパスで指定
SET JPEGTRAN=jpegtran.exe
REM 完成したJPEGが逆さまになる場合は下記の90と270を入れ替える
SET ODD=270
SET EVEN=90
REM 仕分け処理
mkdir rotated
for %%i in (*1.jpg) do %JPEGTRAN% -optimize -rotate %ODD% -copy none %%i rotated\%%i
for %%i in (*2.jpg) do %JPEGTRAN% -optimize -rotate %EVEN% -copy none %%i rotated\%%i
for %%i in (*3.jpg) do %JPEGTRAN% -optimize -rotate %ODD% -copy none %%i rotated\%%i
for %%i in (*4.jpg) do %JPEGTRAN% -optimize -rotate %EVEN% -copy none %%i rotated\%%i
for %%i in (*5.jpg) do %JPEGTRAN% -optimize -rotate %ODD% -copy none %%i rotated\%%i
for %%i in (*6.jpg) do %JPEGTRAN% -optimize -rotate %EVEN% -copy none %%i rotated\%%i
for %%i in (*7.jpg) do %JPEGTRAN% -optimize -rotate %ODD% -copy none %%i rotated\%%i
for %%i in (*8.jpg) do %JPEGTRAN% -optimize -rotate %EVEN% -copy none %%i rotated\%%i
for %%i in (*9.jpg) do %JPEGTRAN% -optimize -rotate %ODD% -copy none %%i rotated\%%i
for %%i in (*0.jpg) do %JPEGTRAN% -optimize -rotate %EVEN% -copy none %%i rotated\%%i
echo 完了

「メモ帳」などにコピペして、rotate.batなど拡張子をbatにして保存して下さい。赤字の部分は場合によって修正が必要になります。jpegtran.exeをc:\tools\に置いた場合は、

SET JPEGTRAN=c:\tools\jpegtran.exe

のようにします。rotate.batと同じフォルダに置く場合は元のままで良いでしょう。

また横向きにする時の方向によって結果がすべて逆さまになってしまう場合には、270と90を入れ替えて下さい。

で、このバッチファイルを取り込んだJPEGファイル(001.jpg、002.jpg…のように連番のファイル名であること)があるフォルダに置きます。スキャン後に自動的に保存されるフォルダに入れておくのが便利かと思います。

で、このrotate.batをダブルクリックすると、処理が実行されます。同じフォルダにrotatedというフォルダが作成されて、そこに向きが直った画像が作成されます。元の画像はそのまま残りますので、rotatedに正しく保存されていれば適宜削除します。逆にダメならrotatedフォルダを消して、rotate.batを修正してやり直します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です