ForHosting KIT · Imagens

Compare imagens por hash perceptual e distância de Hamming

Dois hashes perceptuais de 16 bits que diferem em 2 posições têm distância de Hamming 2 e semelhança de 87,5 %. Cole duas impressões digitais feitas de zeros e uns e veja o quanto as imagens se parecem sem enviar nenhum arquivo. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Hash A
1011001110001111
Hash B
1011001010101111
Você obtém
Distância de Hamming
2
Porcentagem de similaridade
87,5
Bits
16

Compare duas imagens sem enviar nenhum arquivo quando você já tiver os hashes perceptuais. A ferramenta recebe dois hashes binários de mesmo tamanho, verifica cada posição e informa a distância de Hamming e a porcentagem de similaridade. Distância zero significa que os hashes são iguais; distâncias maiores indicam uma diferença perceptual maior. O cálculo é determinístico, rápido e privado, sendo útil para detectar duplicatas, revisar mídias, conferir migrações e automatizar pipelines de imagens.

Prepare hashes perceptuais realmente comparáveis

Um hash perceptual é uma impressão digital compacta criada para preservar relações visuais, e não os bytes exatos do arquivo. Antes de comparar, gere os dois hashes com o mesmo método, dimensões, quantidade de bits, regras de pré-processamento e convenção de saída. Por exemplo, não compare o hash médio de uma imagem com o hash de diferença de outra, ainda que ambos tenham o mesmo número de bits.

Esta capacidade exige que cada valor seja uma string binária não vazia, formada somente por 0 e 1. Ela rejeita de propósito hexadecimal, separadores, prefixos e espaços, para que cada caractere represente exatamente um bit medido e o resultado não dependa de uma interpretação implícita. As duas strings também precisam ter o mesmo comprimento.

Essa igualdade é indispensável porque a distância de Hamming compara posições correspondentes: os bits adicionais de um hash maior não têm par em um hash menor. Se a sua origem armazena hashes em hexadecimal, converta ambos para strings binárias com preenchimento idêntico antes do envio. Preserve os zeros à esquerda, pois removê-los altera o tamanho declarado e o alinhamento das posições, mesmo que um analisador numérico considere os valores equivalentes.

Entenda a distância e a porcentagem

A distância de Hamming é o número de posições em que os dois hashes contêm bits diferentes. Se dois hashes de 64 bits diferem em cinco posições, a distância é cinco. A porcentagem de similaridade expressa a parcela complementar de posições iguais: divide-se a quantidade de bits coincidentes pelo total de bits e multiplica-se por cem.

Um par diferente em todas as posições retorna uma distância igual ao próprio comprimento e similaridade zero. Interprete a porcentagem como uma comparação normalizada dos hashes, não como uma probabilidade universal de que dois arquivos mostrem o mesmo assunto. Os limites dependem do algoritmo perceptual, do tamanho do hash, do domínio das imagens e do custo de falsos positivos.

Um fluxo de fotos duplicadas pode aceitar somente distâncias muito pequenas, enquanto um agrupamento visual pode usar um limite mais amplo. Calibre essa decisão com correspondências e divergências representativas da sua coleção, em vez de copiar um limite criado para outra família de hashes.

Use o resultado com segurança no pipeline

Um pipeline prático de detecção de duplicatas costuma gerar um hash perceptual consistente por ativo, comparar pares candidatos e depois aplicar uma política à distância obtida. Armazene o método e o comprimento em bits junto de cada impressão digital, para rejeitar registros incompatíveis antes da comparação. Em coleções grandes, use um índice aproximado ou outra etapa de seleção de candidatos; comparar todas as imagens entre si cresce de forma quadrática e raramente é necessário.

Quando um par ficar próximo do limite escolhido, mantenha as imagens originais disponíveis para análise humana ou para uma verificação visual mais detalhada. O hash perceptual tolera algumas transformações e encontra versões redimensionadas ou recomprimidas que checksums criptográficos não detectam, mas também pode aproximar imagens visualmente simples. Esta capacidade não inspeciona pixels, identifica conteúdo nem comprova autoria.

Ela compara apenas as duas strings de bits fornecidas. O cálculo não usa rede, aleatoriedade, relógio nem estado oculto; portanto, o mesmo par válido sempre gera o mesmo resultado.

Detectar possíveis fotos duplicadas

Compare hashes gerados de modo consistente e encaminhe para revisão os pares abaixo do limite calibrado.

Conferir uma migração de mídia

Confirme se imagens recomprimidas ou redimensionadas no destino continuam perceptualmente próximas das originais.

Agrupar ativos visualmente relacionados

Use a similaridade normalizada como um dos sinais ao organizar um catálogo em possíveis grupos visuais.

Qual formato de entrada é aceito?

Ambas precisam ter o mesmo número de bits.

Por que os hashes precisam ter o mesmo tamanho?

A distância de Hamming compara posições equivalentes. Strings desiguais deixam posições sem par, por isso a solicitação é recusada.

O que significa uma similaridade de 100 por cento?

Significa que todos os bits fornecidos coincidem. Isso não prova que os arquivos de imagem originais sejam idênticos byte a byte.

Posso comparar hashes criados por algoritmos diferentes?

Não é recomendável. O mesmo tamanho não torna semanticamente comparáveis hashes médios, de diferença e perceptuais.

A ferramenta envia ou inspeciona minhas imagens?

Não. Ela recebe somente as duas strings de hash e executa localmente uma comparação determinística de bits.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/image/compare-similarity

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/image/compare-similarity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hash_a":"1011001110001111","hash_b":"1011001010101111"}'
{
  "hash_a": "1011001110001111",
  "hash_b": "1011001010101111"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.compare_similarity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_chars4096
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Entenda a distância e a porcentagem

A resposta arredonda a porcentagem para no máximo seis casas decimais, garantindo uma saída JSON estável, enquanto a distância inteira e o total de bits permanecem exatos. Assim, um par idêntico retorna distância zero e cem por cento de similaridade.

Use o resultado com segurança no pipeline

O uso no navegador é gratuito, e as chamadas automatizadas pela API seguem o preço publicado de US$ 0,002 por solicitação.

Quanto custa uma solicitação de API?

O preço da API é US$ 0,002 por solicitação. A versão no navegador funciona localmente e sem custo.

Ver a documentação completa do KIT →