Question

J'ai un répertoire contenant un très grand nombre d'images JPG (analyses de documents papier), qui sont tous actuellement SRGB.

Beaucoup mais pas tous n'ont pas de couleur, ni de couleur uniquement comme arrière-plan (par exemple de papier coloré ou un scan légèrement blanc cassé).

Je voudrais masser ces images (mais pas les images qui ont une couleur réelle) à niveaux de gris, pour économiser de l'espace disque.

Je suppose qu'il y a un moyen de le faire avec ImageMagick, mais je ne sais pas comment.Suggestions?

Était-ce utile?

La solution

L'utilitaire mogrify de ImageMagick serait la solution la plus simple.

mogrify -path /path/to/output/dir/ -colorspace Gray /path/to/source/files

La possibilité d'identifier quel document se qualifie comme car les couleurs réelles peuvent être très localisées.Je suggérerais d'évaluer le nombre de couleurs si chaque image et de convertir uniquement les images qui tombent en dessous d'un seuil donné.

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

Il peut également être sage d'évaluer les options de pré-traitement pour réduire le bruit. monochrome serait le plus facile à appliquer, mais Autres excellentes solutions existe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top