| Ver tema anterior :: Ver siguiente tema |
| Autor | Mensaje |
|---|
nanojover17
Registrado: 04 Ago 2007 Mensajes: 2
| Publicado: 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
| Publicado: 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
| Publicado: 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
| Publicado: 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
| Publicado: 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
| Publicado: 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
| Publicado: 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
| Publicado: 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 | |
 |
|
|