Avaliação do Usuário

Estrela inativaEstrela inativaEstrela inativaEstrela inativaEstrela inativa
 

Imagine que por um motivo qualquer você queira comprar duas imagens na linha de comandos. Achei como aqui e resolvi traduzir/testar. Então vai:

 

 

Você vai precisar ter no seu Linux o ImageMagick instalado, se não tiver instale com:

 

 

{code}

apt-get install imagemagick

{/code}

 

 

O pacote do ImageMagick vai nos fornecer meios de redimensionar a imagem e garantir que estamos comparando as mesmas coisas. Ou melhor, claro que as imagens podem até ser diferentes, mas se não tiverem pelo menos o mesmo tamanho nunca terão a menor chance de serem iguais (caso forem).

 

 

Nesse mesmo pacote está o comando compare, que compara imagens.

 

 

A linha de comandos para comparar ficará assim:

 

 

{code}

convert logo.png logo2.png -resize '100x100!' MIFF:- | compare -metric AE -fuzz '10%' - null:

{/code}

 

 

Onde logo.png e logo2.png são as imagens a serem comparadas, que passaram antes por um redimensionamento para ficarem com 100x100 pixeis.

 

 

Para o comando compare o parâmetro -metric diz qual a métrica a ser ussada, que pode ser:

 

 

AE - contagem de erros absolutos, número de pixeis diferentes.

FUZZ - distância média da cor.

MAE - média do erro absoluto (normalizado).

MEPP - erro médio por pixel (normalizado).

MSE - erro médio quadrado.

NCC - Correlação cruzada normalizada.

PAE - pico absoluto (pico absoluto normalizado).

PHASH - hash perceptual

PSNR - pico de sinal para taxa de ruído

RMSE - raiz média quadrada

 

 

O parâmetro -fuzz diz qual a distância de cores que deve ser utilizada para "afirmar" o erro. No nosso caso 10%. Isso quer dizer que para o pixel ser diferente de outro pixel precisa ter mais do que 10% de diferença na cor.