【问题标题】:How can I mass-convert images with no color to grayscale?如何将没有颜色的图像大量转换为灰度?
【发布时间】:2014-05-27 18:31:11
【问题描述】:
我有一个目录,其中包含大量 JPG 图像(纸质文档的扫描件),目前都是 sRGB。
许多但不是全部实际上没有颜色,或者仅将颜色作为背景(例如彩色纸或略带灰白色的扫描)。
我想将这些图像(但不是具有真实颜色的图像)大量转换为灰度,以节省磁盘空间。
我猜测 ImageMagick 有一些方法可以做到这一点,但我不知道怎么做。有什么建议吗?
【问题讨论】:
标签:
imagemagick
jpeg
grayscale
file-conversion
imagemagick-convert
【解决方案1】:
Imagemagick 的mogrify 实用程序将是最简单的解决方案。
mogrify -path /path/to/output/dir/ -colorspace Gray /path/to/source/files
识别哪个文档符合真实颜色的能力可能非常本地化。我建议评估每张图像的颜色计数,并且只转换低于给定阈值的图像。
THRESHOLD=1024
FILES=`ls /path/to/source/files`
for FILE in ${FILES}; do
COLORS=`identify -format %k "$FILE"`
if [[ $COLORS -lt $THRESHOLD ]]; then
mogrify -path /path/to/output/dir/ -colorspace Gray "$FILE"
fi
评估预处理选项以减少噪音也可能是明智之举。 Monochrome 是最容易申请的,但 other great solutions 存在。