Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-03-2009
ronald_tro ronald_tro is offline
Miembro
 
Registrado: feb 2009
Posts: 53
Poder: 16
ronald_tro Va por buen camino
Comprar imagenes

Hola amigos, aqui de nuevo con una duda, resulta que deseo comprar dos iimagenes que tengo, son del mismo tamaño y me pasaron este codigo:

for i:=0 to Imagen1.Width do begin

for j:=0 to Imagen1.Height do begin

if Imagen1.Canvas.Pixels[i,j] <> Imagen2.Canvas.Pixels[i,j] then
//Son diferentes

end;{for j}

end;{for i}

, bueno y la verdad no he probado este metodo, no se si alguien lo halla utilizado, me dijeron que es un poco lento esta forma de hacerlo, y bueno tengo otra opcion, usar redes neuronales, no se si alguien sepa si solo con redes neuronales o con otro metodo mas facil y que no sea tardado me ayuda, es decir amigos, comparo la imagen y si es lo mas parecida a una principal de las dos me arroja un resultado cual sea, gracias, espero no molestarlos.
Responder Con Cita
  #2  
Antiguo 01-03-2009
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Así como lo haces realmente no comparas las imágenes, más bien los pixeles de las mismas, lo que vendría siendo casi lo mismo que comparar byte por byte los archivos originales. Definitivamente tienes que irte por el lado de redes neuronales o algun otro elemento de IA para poder hacer que el programa efectivamente compare "a ojo" las imágenes y sea capaz de determinar si son o no iguales no tanto por su contenido de bytes sino por como se ven al ojo humano...algo posible, pero si que se llevará su buen tiempo y obviamente demandará recursos del equipo donde esté trabajando.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #3  
Antiguo 04-03-2009
ronald_tro ronald_tro is offline
Miembro
 
Registrado: feb 2009
Posts: 53
Poder: 16
ronald_tro Va por buen camino
Hola amigos, he buscado algo de esto y me encontre algo referente:

Se puede hacer en plan artesanal , simplemente comparando % de pixels.
es decir , si las imagenes son siempre tamaño determinado, y la forma o objeto que desas buscar siempre es del mismo tamaño , lo que debes hacer es pasarla todas a blanco y negro y las guardas a modo de patron a buscar. luego cuando quieras reconocer una imagen , la pasas a b/n (esto es facil con bitmaps) y buscas en los patrones que tienes almacenados a cual se parece mas , calculando simplemente el % de pixels iguales. la que tenga > % es la mas parecida.

De hecho amigos, pongo por ejemplo 5 imagenes en un form, y le aplico un filtro y pone las imagenes en blanco y negro con los bordes, pero alguien sabe si me podria servir?, es decir asi como dijo AzidRain, o no se algo asi como guardarlas en memoria (virtualmente), espero se pueda, gracias.

pd. si no me entienden me dicen
Responder Con Cita
  #4  
Antiguo 23-03-2009
Avatar de Raynel
Raynel Raynel is offline
Miembro
 
Registrado: sep 2007
Posts: 40
Poder: 0
Raynel Va por buen camino
A lo mejor te sirva, encontré un código llamdo "ojos electrónicos", más bien sirve como sofware de seguridad, pero si desglosas el código es posible que le encuentres algún provecho, nota : lo encontré entre mis archivos y no es de mi autoría, pero si estaba en la red libremente por alli, no recuerdo si fué por estos foros o en otros).

Ojos electronicos.zip
__________________
Codito, Ergo Sum.
Responder Con Cita
  #5  
Antiguo 27-03-2009
sebasthian777 sebasthian777 is offline
Miembro
 
Registrado: feb 2009
Posts: 19
Poder: 0
sebasthian777 Va por buen camino
Sin mirar el codigo que nos facilito el compañero anterior te puedo comentar que tenes distintos caminos (algo parecido a lo que dijo el otro compañero con el tema de analizar % en pixels por pixels) uno es hacer algo seco... que analice toda la imagen, pero tienes otros caminos, en donde puedes trabajar con matices para lograr identificar el objeto a analizar en si....

puedes hacer por ejemplo, que donde encuentra una X cantidad de pixeles blanco, no lo analice (teniendo en cuenta que puede ser un fondo) siguiente este tipo de ideas, puedes "inventar" una serie compleja y extensa de algoritmos de IA... Te comento que no es imposible, pero esa serie de codigos, suelen ser desarrolladas por un grupo de trabajo y no una sola persona :P jejeje...

en si... entrando a muy bajo nivel de programacion en cuanto a los algoritmos (pixel por pixel) lo logras, pero tienes que tener un conocimiento de algebra muy grande para hacer las matrices...

ademas te comento que por mi experiencia, a la hora de trabajar pixel por pixel se notaba una diferencia en cuanto al rendimiento de la maquina, en otras palabras, maquina lenta.

te comento a grandes rasgos lo que hacia mi programa, Buscaba todos los pixeles negros (fondo blanco, en otras palabras imagen b/n) y las movia un pixel para la izquierda. EL fin de este programa fue ver que tanto se alentisaba el RAD o delphi utilisando esto, en vez de usar por ejemplo

Código Delphi [-]
image1.canvas.Draw(-1,0,image1.Picture.Graphic);

la diferencia en el refresco de la pantalla era notable aclaro.

esto, obviamente, tambien depende de la resolucion/tamaño de la imagen/s a analizar...

saludos y cuentanos si obtuviste algun resultado satisfactorio

=D la mejor de las suertes!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
comprar delphi 7 paty_rlopez Varios 6 05-08-2011 18:49:00
Comprar Delphi 8.0 BuRtOn Varios 15 12-07-2008 19:20:14
Me acabo de comprar un portatil seoane La Taberna 18 04-07-2008 04:34:26
Al comprar Delphi 2005 JXJ Varios 6 20-01-2006 20:11:20
Comprar Fastreport en españa IVAND Impresión 1 11-08-2003 07:59:40


La franja horaria es GMT +2. Ahora son las 02:35:59.


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
Copyright 1996-2007 Club Delphi