⚠️ Este é um site de tradução não oficial, sem relação com a ImageMagick Studio LLC. Para informações oficiais, consulte a página original (https://imagemagick.org/compare/).

compare

Exemplos de uso • Resumo das opções

Use o programa compare para anotar matematicamente e visualmente a diferença entre uma imagem e sua reconstrução. Consulte Processamento de linha de comando para orientações sobre como estruturar seu comando compare ou veja abaixo exemplos de uso do comando.

Exemplos de uso

Listamos aqui alguns exemplos do comando compare para ilustrar sua utilidade e facilidade de uso. Para começar, vamos comparar uma imagem com outra que foi nitidamente realçada:

magick rose.jpg -sharpen 0x1 reconstruct.jpg
magick compare rose.jpg reconstruct.jpg difference.png
magick compare -compose src rose.jpg reconstruct.jpg difference.png

rose rose ==> rose

As áreas vermelhas da imagem de diferença enfatizam (destacam) os pixels afetados pelo realce de nitidez da imagem, enquanto o branco atenua (suaviza) os pixels não tocados pelo processo de realce.

Além da interpretação visual da diferença entre uma imagem e sua reconstrução, informamos uma medida matemática da diferença:

$ magick compare -verbose -metric rmse rose.jpg reconstruct.jpg difference.png
Image: rose.jpg
 Channel distortion: RMSE
   red: 2833.91 (0.0432427)
   green: 2401.45 (0.0366438)
   blue: 2560.43 (0.0390696)
   all: 2604.73 (0.0397456)

Ou, se você quiser apenas a distorção do canal vermelho, use este comando:

$ magick compare -channel red -metric PSNR rose.jpg reconstruct.jpg difference.png
27.2817 (0.227348)

Ou, se você quiser apenas a distorção geral da imagem, use este comando:

$ magick compare -metric PSNR rose.jpg reconstruct.jpg difference.png
28.0142 (0.233452)

Se a imagem reconstruída for uma subimagem da imagem, o programa compare retorna o deslocamento da melhor correspondência. Além disso, retorna uma imagem de similaridade na qual o local de correspondência exata fica completamente branco e, se nenhum dos pixels corresponder, preto; caso contrário, um nível de cinza intermediário:

$ magick compare -metric NCC -subimage-search logo.png hat.png similarity.pfm
0 (0) @ 417,44 [0]
$ magick identify -define identify:locate=maximum -define identify:limit=1 similarity.pfm
Channel maximum locations:
  Gray: 65532.9 (0.999967) 417,44

O valor entre colchetes é a métrica de similaridade normalizada.

Observe que a busca de similaridade respeita o deslocamento de página virtual. Para garantir os resultados esperados, certifique-se de que o deslocamento de página da sua imagem seja +0+0.

O recurso de busca de subimagem no ImageMagick pode ser bastante lento devido à sua natureza iterativa. No entanto, se a sua versão do ImageMagick incluir suporte a FFTW (Fastest Fourier Transform in the West) e a sua métrica for DPC, MSE, NCC, RMSE, PHASE ou PSNR, você pode esperar um aumento de uma ordem de magnitude no tempo de processamento. Para uma discussão, consulte Accelerated Subimage-search Compare.

Se a opção -subimage-search não estiver habilitada, o ImageMagick realiza uma comparação direta pixel a pixel entre as duas imagens, começando pelo deslocamento de página, normalmente os cantos superiores esquerdos. Nos casos em que as imagens diferem em tamanho, a imagem menor é alinhada com a maior. As áreas extras da imagem menor são tratadas como pixels virtuais. Esses pixels virtuais podem ser processados de acordo com o método de pixel virtual escolhido, o que influencia como as regiões não correspondentes são tratadas na comparação. Consequentemente, as métricas de comparação podem ser afetadas por essas áreas adicionais, podendo impactar a avaliação geral de similaridade. Para comparar apenas os pixels autênticos, use -define compare:virtual-pixels=false.

Você pode encontrar mais exemplos de uso do compare em Examples of ImageMagick Usage.

Duas imagens são consideradas similares se a diferença entre elas, de acordo com a métrica e o valor de fuzz especificados, for 0, com exceção da métrica de correlação cruzada normalizada (NCC), na qual duas imagens são consideradas similares quando sua correlação cruzada normalizada é 1. A métrica padrão é NCC.

O programa compare retorna 2 em caso de erro, 0 se as imagens forem similares, ou um valor entre 0 e 1 se elas não forem similares.

Resumo das opções

O comando compare reconhece estas opções. Clique em uma opção para obter mais detalhes sobre como ela funciona.

Opção Descrição
-adjoin une imagens em um único arquivo multi-imagem
-alpha on, activate, off, deactivate, set, opaque, copy, transparent, extract, background ou shape do canal alfa
-authenticate value descriptografa a imagem com esta senha
-auto-orient orienta a imagem automagicamente
-background color cor de fundo
-brightness-contrast geometry melhora o brilho / contraste da imagem
-channel type aplica a opção aos canais de imagem selecionados
-colorspace type define o espaço de cor da imagem
-compose operator define o operador de composição da imagem
-crop geometry recorta a imagem
-decipher filename converte pixels cifrados em texto simples
-debug events exibe informações copiosas de depuração
-define format:option define uma ou mais opções de formato de imagem
-density geometry densidade horizontal e vertical da imagem
-depth value profundidade da imagem
-dissimilarity-threshold value distorção máxima para correspondência de (sub)imagem (padrão 0.2)
-distort type coefficients distorce a imagem
-encipher filename converte pixels de texto simples em pixels cifrados
-extract geometry extrai uma área da imagem
-fuzz distance cores dentro desta distância são consideradas iguais
-gravity type posicionamento horizontal e vertical do texto
-help exibe as opções do programa
-highlight-color color enfatiza as diferenças de pixel com esta cor
-identify identifica o formato e as características da imagem
-interlace type tipo do esquema de entrelaçamento de imagem
-level value ajusta o nível de contraste da imagem
-limit type value limite de recurso do cache de pixels
-log format formato das informações de depuração
-lowlight-color color atenua as diferenças de pixel com esta cor
-metric type mede as diferenças entre imagens com esta métrica. A métrica padrão é RMSE.
-negate substitui cada pixel por sua cor complementar
-profile filename adiciona, exclui ou aplica um perfil de imagem
-quality value nível de compressão JPEG/MIFF/PNG
-quantize colorspace reduz as cores da imagem neste espaço de cor
-quiet suprime todas as mensagens de aviso
-read-mask filename associa uma máscara de leitura à imagem
-regard-warnings dá atenção às mensagens de aviso
-repage geometry tamanho e localização de uma tela de imagem
-resize geometry redimensiona a imagem
-respect-parentheses as configurações permanecem em vigor até o limite dos parênteses
-rotate degrees aplica a rotação Paeth à imagem
-sampling-factor geometry fator de amostragem horizontal e vertical
-seed value semeia uma nova sequência de números pseudoaleatórios
-separate separa um canal de imagem em uma imagem em escala de cinza
-set attribute value define um atributo da imagem
-sigmoidal-contrast geometry aumenta o contraste sem saturar realces ou sombras
-similarity-threshold value distorção mínima para correspondência de (sub)imagem (padrão 0.0)
-size geometry largura e altura da imagem
-subimage-search busca por subimagem
-synchronize sincroniza a imagem com o dispositivo de armazenamento
-taint marca a imagem como modificada
-transparent-color color cor transparente
-trim apara as bordas da imagem
-verbose exibe informações detalhadas sobre a imagem
-version exibe informações de versão
-virtual-pixel method método de acesso para pixels fora dos limites da imagem
-write-mask filename associa uma máscara de escrita à imagem