どうも、自炊1初心者です。
今日は私が自炊した画像ファイルを色調整・圧縮するより前にやる、簡単な処理のやり方についてご紹介しようと存じます。
ImageMagick についている magick
mogrify
コマンドと、zsh
を使います(多分 bash
でも可能です)。mogrify
は複数画像の一括処理用のコマンドです。
環境
Windows10 64bit, msys2上のzsh, ImageMagick Version 7.0.10-29 Q16
連番の画像ファイルをまとめて回転させて向きを正す
書類をスキャナの皿に載せる向きを間違えたり横向きに載せていると、すべての画像が上下逆さまだったり、偶数ページ/奇数ページが横向きでそれぞれ逆を剥いていたりすることがあります。mogrify -rotate <回転角度> <ファイル名>...
で画像をまとめて回転させることができます。mogrify
と ブレース展開を使います。
$ mogrify -rotate 180 {001..100}.bmp # 100個のbmpファイルを180度回転させる$ mogrify -rotate 90 {001..100..2}.bmp # 奇数番のbmpファイルを右に90度回転させる$ mogrify -rotate-90{002..100..2}.bmp # 偶数番のbmpファイルを左に90度回転させる
ノドを切り落とす
もしかしたら裁断機の刃が痛んでいるのかもしれませんが、私は切るのが下手で裁断面が見開きで見たとき悪目立ちします2。そこで裁断面(本のノドにあたる)を20ピクセル程度カットして悪目立ちを抑えます。
コミックの場合はノドのギリギリまで絵があるのでカットしたくはないのですが、文字だけの書籍ならノドは白紙なのでガタガタの切断面をまっすぐに切断することができます。
mogrify
を使うと直接ファイルを加工してしまいますが、今回は念のため、magick (convert)
コマンドを使って、加工したファイルを別に out
ディレクトリに出力します。
奇数ページと偶数ページでノドの位置が逆なので注意します。-chop
オプションで端から 20ピクセル切り落とす例です。数値は調整してください。-gravity
でどこを切り落とすか指定します。-gravity
で指定できる値は magick -list gravity
で確認できます。
magick(or convert) <変換前の画像名> [ -gravity {position} ] -chop {width}x{height} <変換後の画像名>
$ mkdir out
# 001~099までの奇数ページ (West で左側を切り落とす)$ seq-f'%03g.bmp' 1 2 99 | xargs -I{} magick {}-gravity West -chop 20x0 out/{}# 002~100までの偶数ページ (East で右側を切り落とす)$ seq-f'%03g.bmp' 2 2 100 | xargs -I{} magick {}-gravity East -chop 20x0 out/{}# ※スキャンによって偶数奇数の処理を逆にしなければいけないかもしれません。要確認
seq [-f <FORMAT>] <FROM> [[<STEP>] <TO>]
連番を生成。seq の FORMAT は一般的な printf と違って数字は %d
の代わりに %g
。
xargs -I<変数名> <コマンド>
パイプから渡ってきたデータを変数に代入してコマンドをそれぞれ逐次実行する。
今回は変数名に {}
を指定したので {}
にファイル名が代入されて実行される。
最後に
この単純な処理の後、画像に問題がないか確認してから圧縮や色味の調整など細かい調整をします。