Thi*_*kel 8 linux scanning image-processing imaging
我正在使用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)
使用此处给出的 ImageMagik CLI的识别功能:
http://www.imagemagick.org/script/identify.php
使用命令:
$ identify -format "%#" source.png
如果颜色数为 1,则为空白页。
您也可以使用以下命令:
identify -verbose source.png
空白图像的标准偏差、偏斜和峰度将为 0。
您可以使用ImageMagick比较工具将扫描图像与“主”空白页进行比较。由于我的 ImageMagick-fu 非常有限,我无法给您任何示例命令。您将必须RTFM:
第二个链接甚至有一个标题为“空白传真”的部分,其中解释了如何检测空白传真页。遗憾的是,该部分似乎尚未完成。希望可用的信息足以让您开始。
归档时间: |
|
查看次数: |
8538 次 |
最近记录: |