Ir al contenido principal

Libpuzzle - Librería PHP para comparar imágenes

Con la librería Libpuzzle de PHP podemos comparar dos imágenes (GIF, PNG, JPG) y comprobar si son similares o no.

Esta librería es gratis, de fácil configuración, ligera y de fácil uso.

Aquí un ejemplo de como comprobaríamos si dos imágenes son similares, y cómo luego las comprimimos para ser almacenadas en base de datos.

[sourcecode language="php"]
# Compute signatures for two images
$cvec1 = puzzle_fill_cvec_from_file('img1.jpg');
$cvec2 = puzzle_fill_cvec_from_file('img2.jpg');

# Compute the distance between both signatures
$d = puzzle_vector_normalized_distance($cvec1, $cvec2);

# Are pictures similar?
if ($d < PUZZLE_CVEC_SIMILARITY_LOWER_THRESHOLD) {
echo "Pictures are looking similarn";
} else {
echo "Pictures are different, distance=$dn";
}

# Compress the signatures for database storage
$compress_cvec1 = puzzle_compress_cvec($cvec1);
$compress_cvec2 = puzzle_compress_cvec($cvec2);
[/sourcecode]

Libpuzzle.

Comentarios

  1. Hola !!

    Estoy diseñando un buscador web y me topé con el lenguaje PHP, necesito saber con certeza qué tipo de imágenes compara PHP y cómo lo hace, es decir qué debe tener mi web para que pueda ejecutar este lenguaje.
    Mi intensión es que como resultado el buscador obtenga una imagen igual o muy similar.
    ¿Este lenguaje me permite relacionar la búsqueda de una imagen con texto?
    Gracias.

    ResponderEliminar
  2. Hola Álvaro,

    PHP es un lenguaje multipropósito orientado, principalmente, para realizar webs y/o proyectos para Internet (o redes locales). PHP, por sí solo no compara imágenes, deberás programar tú una clase que lo haga, o bien buscar algo ya hecho, como por ejemplo la librería Libpuzzle. Puedes entrar en su web para mayor información: http://libpuzzle.pureftpd.org/project/libpuzzle/php

    ¡Un saludo!

    ResponderEliminar
  3. un pograma q realice la comparacion de imagenes de galxias en php

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Cosmic Supremacy : Juego 4X online, gratuito y multijugador basado en conquistas espaciales

  Llevaba bastante tiempo buscando un juego de estrategia en el espacio, multijugador , y que fuera por turnos . Un requisito que siempre tuve es que fuera fácil aprenderlo, y tuviera suficiente ayuda o tutoriales. Creo que lo he encontrado, se llama Cosmic Supremacy , y es gratis . Os dejo aquí información traducida desde su web oficial por si os animáis :) ¿Qué es Cosmic Supremacy? Cosmic Supremacy es un juego gratuito de estrategia espacial multijugador masivo basado en ticks/turnos con una interfaz 3D 'Galaxy View'. Compartes una galaxia con cientos de jugadores, cada uno con su propia civilización alienígena. Algunos de ellos pueden llegar a ser tus enemigos, otros podrían ser tus aliados. Necesitas explorar la galaxia que te rodea, descubrir nuevos sistemas solares, colonizar nuevos planetas y expandir tu imperio. Puedes diseñar todas las naves de tu flota e investigar nuevas tecnologías avanzadas para poder construir naves más rápidas y fuertes que te darán la ventaja ...

Hacer una pausa en un fichero por lotes batch (bat o cmd)

En consola de Windows (antiguamente Ms-Dos) desde siempre se ha podido hacer una pausa, esperando confirmación del usuario. El comando en cuestión es: pause Si escribimos pause en nuestra consola veremos que la consola se queda pausada hasta que pulsamos una tecla. Esto es útil en ficheros batch (ya sean .bat o .cmd) para hacer pausas controladas entre distintos comandos, a la espera que el usuario pulse alguna tecla para continua. Pero, ¿qué ocurre si queremos una pausa de cierto número de segundos y luego continúe el proceso automáticamente ? No hay ningún comando que lo haga, pero haciendo el siguiente "truco" (hace un ping a una URL especificando el número de segundos como timeout) lo podremos conseguir ping -n 10 localhost > null Simplemente cambiar el 10 por el número de segundos que queráis, y ya tendréis en consola (o msdos) una pausa de N segundos, y luego el proceso continuará automáticamente.  

Cómo colorear y añadir información de GIT a la consola (shell) de linux al conectarse remótamente por SSH

Si os pasa que tenéis vuestro terminal de Linux coloreado y veis información de GIT en el prompt , y al conectarse en remoto vía SSH al mismo servidor ya no lo veis, lo que necesitáis hacer es crear, o editar, el siguiente fichero en vuestro directorio home ~/.bash_profile , y añadir la siguiente información: [sourcecode] # set a fancy prompt (non-color, unless we know we "want" color) case "$TERM" in xterm-color) color_prompt=yes;; esac # uncomment for a colored prompt, if the terminal has the capability; turned # off by default to not distract the user: the focus in a terminal window # should be on the output of commands, not on the prompt force_color_prompt=yes if [ -n "$force_color_prompt" ]; then if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then # We have color support; assume it's compliant with Ecma-48 # (ISO/IEC-6429). (Lack of such support is extremely rare, and such # a case would te...