Use o ImageMagick para comparar imagens


10

Eu quero comparar um arquivo png de origem com um arquivo compactado.

Estou usando imagemagicke este comando:

convert image1 image2 -compose Difference -composite \
       -colorspace gray -format '%[fx:mean*100]' info:

Mas o que recebo é um número muito ímpar. Estou procurando de um número de 0 a 100%.

Quando comparei duas imagens totalmente diferentes, ainda recebo uma 8.37885.

Tão boas pessoas do Ask Ubuntu, você pode me fornecer um comando que meça a diferença entre os arquivos corretamente e me dê um número de 0 a 100?

Respostas:


11

O problema está na colorspace grayparte do comando. Esta opção verifica apenas a diferença entre a cor cinza das imagens.

Portanto, o comando correto deve ser

convert image1 image2 -compose Difference -composite  -format '%[fx:mean*100]' info:

Isso deve lhe dar uma resposta mais apropriada.


1
Você pode tentar outros métodos como esse script python . Use esse método que melhor se adapte ao seu propósito.
Usuário registrado

Muito obrigado por sua ajuda eu vou olhar para ele, obrigado para o comando bem
Levan

@RegisteredUser Warning : esse código parece encontrar o erro RMS entre os histogramas das imagens, NÃO entre as próprias imagens . É melhor fazer primeiro a diferença das 2 imagens (se você quiser uma nova imagem também) e, em seguida, fazer a soma ao quadrado dos compartimentos do histograma normalizados.
Hastur

@hastur, você pode elaborar fornecendo o comando Talvez como outra resposta.
Usuário Registrado
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.