Pergunta

Eu tenho um diretório que contém um grande número de imagens JPG (digitalizações de documentos em papel), que atualmente são sRGB.

Muitos, mas não todos, não têm cor ou têm cor apenas como plano de fundo (por exemplo,papel colorido ou digitalização ligeiramente esbranquiçada).

Gostaria de converter em massa essas imagens (mas não as imagens com cores reais) em tons de cinza, para economizar espaço em disco.

Suponho que exista alguma maneira de fazer isso com o ImageMagick, mas não sei como.Sugestões?

Foi útil?

Solução

Imagemagick's mogrify utilidade seria a solução mais simples.

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

A capacidade de identificar qual documento se qualifica como cores reais pode ser muito localizada.Eu sugiro avaliar a contagem de cores de cada imagem e converter apenas as imagens que ficam abaixo de um determinado limite.

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

Também pode ser aconselhável avaliar opções de pré-processamento para reduzir o ruído. Monocromático seria o mais fácil de aplicar, mas outras ótimas soluções existe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top