я использую 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