我正在使用scanimage支持双面扫描的文档扫描仪(佳能 DR-2510C)。不幸的是,它的 SANE 驱动程序不支持空白页检测,因此对于混合页面(单面/双面),空白页会进入扫描结果。
我想在对扫描输出进行后处理时自动去除那些空白页,因此我正在寻找一种命令行工具,该工具能够检测 TIFF 或 PNM 文件是否主要由白色像素组成)。
有任何想法吗?
这是我根据 lesmana 的回答提出的解决方案:
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
Run Code Online (Sandbox Code Playgroud)