¿Cómo puedo convertir masa imágenes sin color a escala de grises?
-
21-12-2019 - |
Pregunta
Tengo un directorio que contiene un número muy grande de imágenes JPG (escaneos de documentos en papel), que todos son actualmente SRGB.
Muchos, pero no todos, en realidad no tienen color, o tienen color solo como fondo (por ejemplo, papel de color o escaneo ligeramente blanco).
Me gustaría convertir en masa esas imágenes (pero no imágenes que tienen color real) a escala de grises, para ahorrar espacio en el disco.
Supongo que hay alguna manera de hacerlo con ImageMagick, pero no sé cómo.Sugerencias?
Solución
La utilidad GeneracodiCodeGodeGode de ImageMagick sería la solución más sencilla.
mogrify -path /path/to/output/dir/ -colorspace Gray /path/to/source/files
La capacidad de identificar qué documento califica que los colores reales pueden estar muy localizados.Sugeriría evaluar el recuento de color si cada imagen, y solo convierte las imágenes que caen por debajo de un umbral dado.
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
También puede ser prudente evaluar las opciones de preprocesamiento para reducir el ruido. monocromo sería el más fácil de aplicar, pero Otras grandes soluciones existe.