Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   ¿Como saber si dos imagenes son similares? (https://www.clubdelphi.com/foros/showthread.php?t=89307)

bucanero 30-10-2015 16:26:32

¿Como saber si dos imagenes son similares?
 
Hola,

Tengo diseñado un programa que se encarga de descargar fichas de artículos (nombre, descripciones, imagenes, etc..) de distintas webs de nuestros proveedores, el tema es que la mayoría de artículos son los mismos en todas las webs, incluidas las imágenes, y necesitaría descartar aquellas imagenes similares (siendo similares, aquellas que visualmente se vean similar) que ya tenemos guardadas en nuestro sistema.

El problema surge, en que dos imagenes visualmente similares, ademas de poder estar grabadas en dos formatos distintos (JPG, PNG, GIF, etc) también pueden tener distinta resolución, tener distinto numero de colores, o incluso una de ellas ser un recorte o parte de la otra.

La pregunta es:
-¿Hay alguna librería que pueda solucionar este proceso?
-puestos a resolverlo a mano ¿seria relativamente facil?, o por el contrario, ¿la complejidad seria bastante?

Como posible solución simple, se me ocurre reducir la resolución de ambas imagenes, el lado mas grande, a una resolución bastante pequeña pero aun significativa digamos 300 pixeles, ampliar el canvas hasta hacerla cuadrada de 300x300 pixeles, y realizar la suma del valor de cada color de un pixels truncando dicho valor solamente a los 3 o 4 bits mas significativos de los 8 que tiene por defecto en teoría este factor debería de ser similar, y es independiente a la posición de las imagenes

Espero vuestras opiniones,
un saludo

Casimiro Notevi 30-10-2015 17:47:41

Ya lo hemos hablado en distintas ocasiones, es "casi" imposible conseguir lo que quieres. Hay métodos más efectivos que otros, pero nada más.
Haz una búsqueda, se ha tratado a fondo ese asunto.

roman 30-10-2015 18:21:21

Cita:

Empezado por Casimiro Notevi (Mensaje 498656)
es "casi" imposible conseguir lo que quieres.

Y, ¿cómo le hace Google para identificar imágenes similares? ¿Cómo le hace FaceBook para identificar personas en una foto. Algo deben saber ¿no?

// Saludos

Casimiro Notevi 30-10-2015 18:26:14

Bueno, uno de los métodos es mirar los datos exif. Pero si no los tiene hay que buscar alternativas.

ecfisa 30-10-2015 20:46:26

Hola bucanero.

Fijate si te sirve esta librería: Image Recognition Library

Saludos :)

bucanero 05-11-2015 11:53:34

Gracias por las respuestas, voy a examinar mas a fondo la libreria propuesta por ecfisa, y cuento que tal va

Un Saludo


La franja horaria es GMT +2. Ahora son las 14:57:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi