ForHosting KIT · Imágenes

Compare imágenes por hash perceptual y distancia de Hamming

Dos hashes perceptuales de 16 bits que difieren en 2 posiciones tienen una distancia de Hamming de 2 y una similitud del 87,5 %. Pegue dos huellas hechas de ceros y unos y vea cuánto se parecen las imágenes sin enviar ningún archivo. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Hash A
1011001110001111
Hash B
1011001010101111
Obtiene
Distancia de Hamming
2
Porcentaje de similitud
87,5
Bits
16

Compare dos imágenes sin subir ninguno de los archivos cuando ya disponga de sus hashes perceptuales. Esta herramienta recibe dos hashes binarios de igual longitud, revisa cada posición y devuelve tanto la distancia de Hamming como un porcentaje de similitud. Una distancia igual a cero indica hashes idénticos; cuanto mayor sea la distancia, mayor será la diferencia perceptual. El cálculo es determinista, rápido y privado, y resulta útil para detectar duplicados, revisar contenidos multimedia, comprobar migraciones y automatizar flujos de imágenes.

Prepare hashes perceptuales que sean comparables

Un hash perceptual es una huella compacta pensada para conservar relaciones visuales, no los bytes exactos del archivo. Antes de realizar la comparación, genere ambos hashes con el mismo método, dimensiones, longitud en bits, reglas de preprocesamiento y convención de salida. Por ejemplo, no compare el hash promedio de una imagen con el hash diferencial de otra, aunque ambos tengan el mismo número de bits.

Esta capacidad exige que cada valor sea una cadena binaria no vacía compuesta únicamente por 0 y 1. Rechaza de forma deliberada la notación hexadecimal, los separadores, los prefijos y los espacios, de modo que cada carácter represente exactamente un bit medido y el resultado no dependa de una interpretación implícita. Las dos cadenas también deben tener igual longitud.

Esta condición es esencial porque la distancia de Hamming coteja posiciones correspondientes: los bits adicionales de un hash largo no tienen pareja en uno corto. Si su origen almacena hashes en hexadecimal, convierta ambos en cadenas binarias con el mismo relleno antes de enviarlos. Conserve los ceros iniciales, pues eliminarlos altera la longitud declarada y la alineación de las posiciones, aunque un analizador numérico considere equivalentes los valores.

Interprete la distancia y el porcentaje

La distancia de Hamming es el número de posiciones en las que los dos hashes contienen bits distintos. Si dos hashes de 64 bits difieren en cinco posiciones, la distancia es cinco. El porcentaje de similitud expresa la proporción complementaria de coincidencias: el número de bits iguales dividido por la longitud total y multiplicado por cien.

Considere el porcentaje como una comparación normalizada de hashes, no como una probabilidad universal de que dos archivos muestren el mismo contenido. Los umbrales dependen del algoritmo, el tamaño del hash, el tipo de imagen y el coste de los falsos positivos. Un proceso de duplicados puede admitir distancias mínimas, mientras que una agrupación visual puede usar un límite más amplio.

Calibre su decisión con coincidencias y diferencias representativas de su propia colección, en lugar de copiar un umbral creado para otra familia de hashes.

Utilice el resultado con seguridad en su flujo

Un flujo práctico para detectar duplicados suele generar un hash perceptual coherente por recurso, comparar parejas candidatas y aplicar después una regla a la distancia obtenida. Guarde junto a cada huella el método y la longitud en bits para descartar registros incompatibles antes de compararlos. En colecciones grandes, emplee un índice aproximado u otra fase de selección de candidatos: comparar cada imagen con todas las demás crece de forma cuadrática y rara vez es necesario.

Cuando una pareja quede cerca del umbral elegido, conserve las imágenes originales para una revisión humana o una comprobación visual más detallada. Los hashes perceptuales toleran ciertas transformaciones y pueden encontrar versiones redimensionadas o recomprimidas que un checksum criptográfico no detectaría, pero también pueden acercar imágenes visualmente simples. Esta capacidad no inspecciona píxeles, identifica contenidos ni demuestra la propiedad.

Solo compara las dos cadenas de bits proporcionadas. El cálculo no utiliza red, azar, reloj ni estado oculto, de modo que una pareja válida siempre genera el mismo resultado.

Detectar posibles fotos duplicadas

Compare hashes generados de forma coherente y envíe a revisión las parejas situadas por debajo de su umbral calibrado.

Comprobar una migración multimedia

Confirme que las imágenes de destino recomprimidas o redimensionadas sigan siendo perceptualmente próximas a sus originales.

Agrupar recursos relacionados visualmente

Use la similitud normalizada como una señal al organizar un catálogo en grupos visuales candidatos.

¿Qué formato de entrada se admite?

Ambas deben tener el mismo número de bits.

¿Por qué deben tener igual longitud los hashes?

La distancia de Hamming coteja posiciones equivalentes. Si las cadenas son desiguales, algunas posiciones no tienen pareja y la solicitud se rechaza.

¿Qué significa una similitud del 100 por ciento?

Significa que coinciden todos los bits suministrados. No demuestra que los archivos de imagen originales sean idénticos byte por byte.

¿Puedo comparar hashes creados con algoritmos distintos?

No es recomendable. Una longitud igual no hace comparables semánticamente los hashes promedio, diferenciales y perceptuales.

¿La herramienta sube o inspecciona mis imágenes?

No. Solo recibe las dos cadenas de hash y ejecuta localmente una comparación determinista de bits.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

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

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_chars4096
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Interprete la distancia y el porcentaje

El porcentaje devuelto se redondea a un máximo de seis decimales para que la salida JSON sea estable, mientras que la distancia entera y el recuento de bits se mantienen exactos. Por ello, una pareja idéntica produce distancia cero y cien por ciento de similitud; si todas las posiciones difieren, la distancia equivale a la longitud y la similitud es cero.

Utilice el resultado con seguridad en su flujo

El uso en el navegador es gratuito y las llamadas automatizadas a la API aplican el precio publicado de $0.002 por solicitud.

¿Cuánto cuesta una solicitud a la API?

El precio de la API es $0.002 por solicitud. La versión del navegador se ejecuta localmente y es gratuita.

Ver la documentación completa del KIT →