Como eu preencho certa porcentagem pela altura de uma imagem usando comandos do ImageMagick no Ubuntu?

1

Eu tenho uma imagem com cerca de 20% de seu fundo preenchido com a cor branca. Mas a imagem tem alguns pontos de outras cores que não brancas. Eu tenho 100s dessas imagens, das quais gostaria de remover esses pontos.

Tenho usado comandos do ImageMagick e scripts bash para automatizar várias tarefas, mas não consigo encontrar nenhum comando para preencher determinada porcentagem de uma imagem de baixo por uma cor sólida.

    
por Nj Subedi 16.01.2015 / 06:22

1 resposta

1

Consegui o objetivo calculando a altura, calculando a porcentagem (aproximada) da altura da imagem e preenchendo um retângulo branco.

# A tool to fill up 10% of the bottom of given image
# by white color. Useful to remove unnecessary colors
# at the bottom of image.
# Usage: this_script.sh required_image.jpg

#!/bin/bash
image=""
right=$(identify -format %w "$image");
bottom=$(identify -format %h "$image");
top=$(expr $bottom \* 9 / 10 | bc);
left=0

convert "$image" -fill white -draw "rectangle ${left},${top},${right},${bottom}" "$image"

Isso pode ser automatizado para várias imagens em uma pasta como:

for img in *.jpg; do bash <script.sh> "$img"; done
    
por Nj Subedi 16.01.2015 / 08:31