/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

problemas con imágenes

 
      Índice del Foro elrincondelc.com -> Gráficos
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
nanojover17



Registrado: 04 Ago 2007
Mensajes: 2

MensajePublicado: 04/08/2007 3:42 pm
Título: problemas con imágenes

Quiero hacer una comparación entre dos archivos de imágenes, por ejemplo tomar un pixel en una coordenada dada de una de las imagenes y compararlo con la misma coordenada en la otra imágen. Esta comparación debería poder hacerse incluso para los pixeles que no entran en pantalla, es decir, comparar los archivos sin la necesidad de visualizarlos en la pantalla. De que forma puedo hacer esto?
Volver arriba
Killrazor



Registrado: 24 Ene 2006
Mensajes: 1182
Ubicación: Barcelona

MensajePublicado: 05/08/2007 4:52 am
Título:

La idea seria cargarlos en memoria como mapa de bits. Haz esto con alguna libreria especializada como freeimage o sdl_image. El principal problema es que el almacenamiento de un jpg es diferente al de un gif o un bmp, asi que lo que debes hacer es cargarlos como si los fueras a visualizar, de forma que en memoria todos sean mapas de bits (arrays de pixeles) y puedas compararlos.

Por otro lado estas librerias tambien te dan informacion sobre ciertas sutilezas de los archivos como que los colores son bgr en vez de rgb etc.. y eso te afectara al compararlos.
_________________
I wanna heal i wanna feel like I'm close to something real.
I wanna find something I've wanted all along
somewhere i belong
Volver arriba
worm



Registrado: 04 Jul 2007
Mensajes: 50

MensajePublicado: 05/08/2007 4:28 pm
Título:

Wenas,

Podrias hacer eso mismo en C# utilizando la clase Bitmap y su metodo GetPixel, este te devuelve un struct (llamada Color) con la que puedes manipular la composicion completa del color. (ARGB).

Ahi te ves
_________________
La respuesta a tus inquietudes es Linux
Volver arriba
Killrazor



Registrado: 24 Ene 2006
Mensajes: 1182
Ubicación: Barcelona

MensajePublicado: 06/08/2007 2:19 am
Título:

El problema que yo veo con eso es que tampoco estoy seguro de que imagenes (formatos) carga. Por otro lado no tengo claro la eficiencia de llamar a getPixel, teniendo un array a mano con la informacion. No digo que sea mal metodo, simplemente que segun lo que queramos hacer podemos vernos con algunas dificultades dificiles de superar.
_________________
I wanna heal i wanna feel like I'm close to something real.
I wanna find something I've wanted all along
somewhere i belong
Volver arriba
worm



Registrado: 04 Jul 2007
Mensajes: 50

MensajePublicado: 06/08/2007 10:24 am
Título:

Killrazor escribió:
El problema que yo veo con eso es que tampoco estoy seguro de que imagenes (formatos) carga.

Estos son los formatos soportados por la clase Image:

    BMP
    EMF
    EXIF
    GIF
    Icon
    JPEG
    MemoryBMP
    PNG
    TIFF
    WMF
La clase Bitmap encapsula las funcionalidades de GDI+, en win32. Puedes hechar un vistazo a la clase ImageFormat en el namespace System.Drawing.Imaging

Killrazor escribió:
Por otro lado no tengo claro la eficiencia de llamar a getPixel, teniendo un array a mano con la informacion. No digo que sea mal metodo, simplemente que segun lo que queramos hacer podemos vernos con algunas dificultades dificiles de superar.


Por un lado, cualquier cosa que hagas en un lenguaje manejado como C# versus uno no manejado como C va ha ser menos eficiente, debido a todas las cosas que debe realizar.
Por otro lado, ¿Que tipo de cosas pueden ser dificiles de superar?.
_________________
La respuesta a tus inquietudes es Linux
Volver arriba
Killrazor



Registrado: 24 Ene 2006
Mensajes: 1182
Ubicación: Barcelona

MensajePublicado: 07/08/2007 12:07 am
Título:

Por ejemplo que el BMP se guarda verticalmente invertida, y en general se carga asi en la memoria, o por ejemplo que existen algunos formatos que admiten RGB i BGR segun vengan de plataformas windows o mac. Estas cosas son dificiles de superar si no accedes a los pixels (como array).

Ya te digo que hablo desde el desconocimiento de c#y sus librerias y supongo que habran pensado en todo eso.
_________________
I wanna heal i wanna feel like I'm close to something real.
I wanna find something I've wanted all along
somewhere i belong
Volver arriba
nanojover17



Registrado: 04 Ago 2007
Mensajes: 2

MensajePublicado: 07/08/2007 2:10 pm
Título:

Donde puedo obtener esas librerias e información de como trabajar con ellas? Me refiero a las "freeimage" y a la "sdl_image"
Volver arriba
Killrazor



Registrado: 24 Ene 2006
Mensajes: 1182
Ubicación: Barcelona

MensajePublicado: 08/08/2007 2:18 am
Título:

freeimage en sourceforge (busca en google). SDL en libsdl.org
_________________
I wanna heal i wanna feel like I'm close to something real.
I wanna find something I've wanted all along
somewhere i belong
Volver arriba
      Índice del Foro elrincondelc.com -> Gráficos
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com