Używam scanimage
ze skanerem dokumentów (Canon DR-2510C), który obsługuje skanowanie dwustronne. Niestety, sterownik SANE nie obsługuje wykrywania pustych stron, więc przy mieszanych stronach (jednostronnych / dwustronnych) puste strony trafiają do wyniku skanowania.
Chciałbym automatycznie pozbyć się tych pustych stron podczas przetwarzania wyników skanowania, więc szukam narzędzia wiersza polecenia, które może wykryć, czy plik TIFF czy PNM składa się głównie z białych pikseli).
Jakieś pomysły?
Oto rozwiązanie, które wymyśliłem na podstawie odpowiedzi Lesmany:
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