ForHosting KIT · Immagini e foto

Confronto immagini con hash percettivo e distanza di Hamming

Due hash percettivi da 16 bit che differiscono in 2 posizioni hanno una distanza di Hamming di 2 e una somiglianza dell’87,5 %. Incolli due impronte fatte di zeri e uno e veda quanto si somigliano le immagini senza inviare alcun file. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Hash A
1011001110001111
Hash B
1011001010101111
Ottiene
Distanza di Hamming
2
Percentuale di somiglianza
87,5
Bit
16

Confronti due immagini senza caricare i file quando dispone già dei rispettivi hash percettivi. Lo strumento accetta due hash binari della stessa lunghezza, controlla ogni posizione e restituisce sia la distanza di Hamming sia una percentuale di somiglianza. Una distanza pari a zero indica hash identici; valori più alti segnalano una differenza percettiva maggiore. Il calcolo è deterministico, rapido e riservato, ed è utile per rilevare duplicati, verificare contenuti multimediali, controllare migrazioni e automatizzare pipeline di immagini.

Prepari hash percettivi confrontabili

Un hash percettivo è un’impronta compatta progettata per conservare le relazioni visive, non i byte esatti del file. Prima di effettuare il confronto, generi entrambi gli hash con lo stesso metodo, le stesse dimensioni, la medesima lunghezza in bit, regole di pre-elaborazione uguali e un’unica convenzione di output. Per esempio, non confronti l’hash medio di un’immagine con l’hash differenziale di un’altra, anche se entrambi contengono lo stesso numero di bit.

Questa capacità richiede che ciascun valore sia una stringa binaria non vuota composta esclusivamente da 0 e 1. Rifiuta volutamente la forma esadecimale, i separatori, i prefissi e gli spazi, così ogni carattere rappresenta esattamente un bit misurato e il risultato non dipende da un’interpretazione implicita. Anche le due stringhe devono avere la stessa lunghezza.

L’uguaglianza è essenziale perché la distanza di Hamming confronta posizioni corrispondenti: i bit aggiuntivi di un hash lungo non hanno un termine di confronto in uno corto. Se la sorgente conserva hash esadecimali, converta entrambi in stringhe binarie con lo stesso riempimento prima dell’invio. Mantenga gli zeri iniziali, perché rimuoverli cambia la lunghezza dichiarata e l’allineamento delle posizioni, anche quando un parser numerico considera equivalenti i valori.

Interpreti la distanza e la percentuale

La distanza di Hamming è il numero di posizioni nelle quali i due hash contengono bit diversi. Se due hash da 64 bit differiscono in cinque posizioni, la loro distanza è cinque. La percentuale di somiglianza esprime la quota complementare delle posizioni coincidenti: il numero di bit uguali viene diviso per la lunghezza totale e moltiplicato per cento.

Una coppia identica restituisce quindi distanza zero e somiglianza del cento per cento. Una coppia diversa in ogni posizione produce una distanza uguale alla lunghezza e somiglianza zero. Consideri la percentuale come un confronto normalizzato degli hash, non come la probabilità universale che due file rappresentino lo stesso soggetto.

Le soglie dipendono dall’algoritmo percettivo, dalla dimensione dell’hash, dal dominio delle immagini e dal costo dei falsi abbinamenti. Un flusso per foto duplicate può accettare solo distanze minime, mentre un raggruppamento visivo può scegliere un limite più ampio. Calibri la regola con corrispondenze e differenze rappresentative della Sua raccolta, invece di copiare una soglia progettata per un’altra famiglia di hash.

Usi il risultato in sicurezza nella pipeline

Una pipeline pratica per trovare duplicati genera in genere un hash percettivo coerente per ogni risorsa, confronta coppie candidate e applica poi una regola alla distanza ottenuta. Salvi insieme a ogni impronta il metodo e la lunghezza in bit, così i record incompatibili possono essere esclusi prima del confronto. Per raccolte grandi, impieghi un indice approssimativo o un altro passaggio di selezione dei candidati: confrontare ogni immagine con tutte le altre cresce in modo quadratico e raramente serve.

Quando una coppia si trova vicino alla soglia scelta, conservi le immagini originali per una revisione umana o un controllo visivo più approfondito. Gli hash percettivi tollerano intenzionalmente alcune trasformazioni e possono individuare varianti ridimensionate o ricompresse che i checksum crittografici non rilevano, ma possono anche avvicinare immagini visivamente semplici. Questa capacità non esamina i pixel, non identifica il contenuto e non dimostra la proprietà.

Confronta soltanto le due stringhe di bit ricevute. Il calcolo non usa rete, casualità, orologio o stato nascosto, quindi la stessa coppia valida produce sempre lo stesso risultato.

Individuare probabili foto duplicate

Confronti hash generati in modo coerente e invii a revisione le coppie sotto la soglia calibrata.

Verificare una migrazione multimediale

Confermi che le immagini di destinazione ricompresse o ridimensionate restino percettivamente vicine alle originali.

Raggruppare risorse visivamente correlate

Utilizzi la somiglianza normalizzata come uno dei segnali per organizzare un catalogo in possibili gruppi visivi.

Perché gli hash devono avere la stessa lunghezza?

La distanza di Hamming confronta posizioni corrispondenti. Stringhe disuguali lasciano posizioni senza controparte, quindi la richiesta viene rifiutata.

Che cosa indica una somiglianza del 100 per cento?

Indica che tutti i bit forniti coincidono. Non dimostra che i file immagine originali siano identici byte per byte.

Posso confrontare hash creati da algoritmi diversi?

Non è consigliato. Una lunghezza uguale non rende semanticamente confrontabili hash medi, differenziali e percettivi.

Lo strumento carica o esamina le mie immagini?

No. Riceve soltanto le due stringhe hash ed esegue localmente un confronto deterministico dei bit.

I miei hash sono in esadecimale: posso usarli?

Sì, dopo averli convertiti. Trasformi entrambi i valori in sequenze binarie della stessa lunghezza, mantenendo gli zeri iniziali: toglierli cambia la lunghezza e sposta le posizioni confrontate, anche se il valore numerico resta uguale.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

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

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_chars4096
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Interpreti la distanza e la percentuale

La percentuale restituita viene arrotondata a non più di sei cifre decimali per produrre un output JSON stabile, mentre la distanza intera e il conteggio dei bit restano esatti.

Usi il risultato in sicurezza nella pipeline

L’uso nel browser è gratuito; le chiamate API automatizzate applicano il prezzo pubblicato di $0.002 per richiesta.

Quale formato di input viene accettato?

Fornisca hash_a e hash_b come stringhe binarie contenenti soltanto 0 e 1. Devono avere lo stesso numero di bit.

Quanto costa una richiesta API?

Il prezzo dell’API è $0.002 per richiesta. La versione nel browser funziona localmente e gratuitamente.

Leggi la documentazione completa del KIT →