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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top