scanimage
両面スキャンに対応したドキュメントスキャナー(Canon DR-2510C)を使用しています。残念ながら、そのSANEドライバーは空白ページの検出をサポートしていないため、混合ページ(片面/両面)では、空白ページがスキャン結果になります。
スキャン出力の後処理時にこれらの空白ページを自動的に削除したいので、TIFFまたはPNMファイルがほとんど白いピクセルで構成されているかどうかを検出できるコマンドラインツールを探しています。
何か案は?
これは、レスマナの答えに基づいて私が思いついた解決策です:
for i in "${DEST_DIR}/out"*.pnm; do
histogram=`convert "${i}" -threshold 50% -format %c histogram:info:-`
white=`echo "${histogram}" | grep "white" | sed -n 's/^ *\(.*\):.*$/\1/p'`
black=`echo "${histogram}" | grep "black" | sed -n 's/^ *\(.*\):.*$/\1/p'`
blank=`echo "scale=4; ${black}/${white} < 0.005" | bc`
if [ ${blank} -eq "1" ]; then
echo "${i} seems to be blank - removing it..."
rm "${i}"
fi
done