火曜日, 5月 14, 2019

Saneのコマンド(scanimage)で一発スキャンするワンライナ

入力した名前でPNG保存。パスとかデバイス名はお使いのところに合わせて変えよう。
echo -n "Enter the NAME > "; read name && echo "scanning..."; scanimage --device "pixma:04A91912_414DDD" --format=png --custom-gamma=yes --gamma 1.2 > ~/Pictures/scan/$name.png && mogrify -contrast -contrast -contrast ~/Pictures/scan/$name.png && echo "done."

Xsaneとは違って色変更オプションがガンマ値以外ないっぽいのでImagemagickに渡して適当にコントラストを上げてま〜す。

思えばイラストのラフ画をとる程度であれば別にXsaneで丁寧に色補正する必要もないので、決めたディレクトリにボスンと投げてくれるシンプルさは意外と便利かも?

参考

画像の色加工2 - Imagemagickの日本語使い方マニュアルhttp://imagemagick.rulez.jp/archives/375

おまけ:名前を入力せず連番でスキャン(PNG)

num=$(printf "%04d" $(($(expr $(ls ~/Pictures/scan/scan????.png |tail -n1 | sed -e "s/[^0-9]//g") + 1)))) && echo "scanning..."; scanimage --device "pixma:04A91912_414DDD" --format=png --custom-gamma=yes --gamma 1.2 > ~/Pictures/scan/scan$num.png && echo "scanned as scan$num.png"; mogrify -contrast -contrast -contrast ~/Pictures/scan/scan$num.png && echo "done."
適当にscan4桁.pngの名前を引き出してゴチャゴチャしてるのでscanああああ.pngとか置いてあったら多分死にます。シェル初心者なので許して……。

参考

ゼロパディングで先頭が0だと8進数扱いされて0009番目の出力でバグるのでexprを挟みました。

1 件のコメント: