Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   C/C++ (http://www.forosdelweb.com/f96/)
-   -   Acceder a metadatos de imágenes (http://www.forosdelweb.com/f96/acceder-metadatos-imagenes-451023/)

Souf 19/12/2006 06:40

Acceder a metadatos de imágenes
 
Buenas, estoy buscando información acerca de como acceder a los metadatos de imágenes desde C, más concretamente a la fecha de creación de un archivo jpg.
Lo que quiero hacer es una aplicación que dado un directorio me ordene las fotografías(*.jpg) que hay en el moviéndolas a directorios que creará con el nombre de la fecha de creación de la imagen, vamos, que las ordena por fechas...
Lo hago porque tengo una cámara que al conectarla al pc me descarga las imágenes así, en windows, pero en linux solo consigo pasarlas todas, pero no ordenarlas, así que con esta aplicación las puedo ordenar, por lo que conseguiré tener todo bien ordenadito...

El código ya lo tengo +/-, lo único que me falta es saber como acceder a los metadatos de un jpg, a la fecha de creación..., suponía que habría una biblioteca para jpg, tipo "jpglib.h", pero no la he encontrado...


Una ayudita, por favor..., gracias!

MaxExtreme 19/12/2006 07:44

Re: Acceder a metadatos de imágenes
 
Siempre puedes utilizar el ANSI-C (fopen, fclose...)

Instru 19/12/2006 18:31

Re: Acceder a metadatos de imágenes
 
Mas bien buscale en google sobre el fotmato de la cabecera de los jpg. Y como te dice max, usa el tradicional fopen, fclose.

Saludos

Souf 20/12/2006 03:16

Re: Acceder a metadatos de imágenes
 
He encontrado algo.., con el exif...
Pero no logro ver toda la estructura, y como acceder a la fecha...
¿Le puedo hacer un fopen a un fichero jpg?, una vez abierto, ¿puedo saber la fecha de creación del mismo?

Gracias!

P.D.: Solo utilizo fopen para abrir ficheros de texto o binarios y escribir/leer en ellos, pero no se como acceder a sus datos, como fecha de creación..., siguiendo con algo relacionado con esto, supongo que también podría saber la fecha de creación con un lstat....

MaxExtreme 20/12/2006 08:41

Re: Acceder a metadatos de imágenes
 
Cita:

Iniciado por Souf (Mensaje 1826710)
¿Le puedo hacer un fopen a un fichero jpg?, una vez abierto, ¿puedo saber la fecha de creación del mismo?

P.D.: Solo utilizo fopen para abrir ficheros de texto o binarios y escribir/leer en ellos, pero no se como acceder a sus datos, como fecha de creación..., siguiendo con algo relacionado con esto, supongo que también podría saber la fecha de creación con un lstat....[/QUOTE]

A ver:

Una imagen JPG es un fichero.
Los ficheros se pueden manipular en ANSI-C con las funciones "f*()".

Por tanto, deducimos:

Una imagen JPG se puede manipular en ANSI-C con las funciones "f*()".

;)

Instru 20/12/2006 10:18

Re: Acceder a metadatos de imágenes
 
Hey max, pero no se. Igual él se refiere a la fecha que le asigna el SO. Eso tendria que hacerse con windows.h supongo.

No se, igual y la fecha original puede ser encontrado en la cabecera del jpg.
Pero si lo que quieres es la fecha que da el sistema, pues si es algo diferente.

Saludos

MaxExtreme 20/12/2006 12:39

Re: Acceder a metadatos de imágenes
 
Ciertamente, no había caido.

Claro, si queire tener metadata, necesitará funciones especiales.

Souf 20/12/2006 13:08

Re: Acceder a metadatos de imágenes
 
Ya que las imágenes tienen metadatos, lo ideal sería usarlos..., si con un programa editor de imágenes(por ejemplo the gimp) veis las propiedades de un jpg (por ejemplo), vereis la hora a la que fué tomada, el tipo de cámara (marca y modelo), la exposición a la luz, la iso, el balance de blancos, la FECHA, ...
Lo ideal sería acceder a esos metadatos..., lo que no se me había ocurrido era usar el stat (o lstat) y con el ver el campo st_mtime, que sería la fecha de la última modificación(última modificación del archivo, pero no sabemos con esto cuando fué creada la imágen)..., pero esto te lo da el archivo, a través del so..., pero lo ideal sería leerlo de los metadatos del fichero....

P.D.: esta aplicación sería para linux, por lo que no puedo incluir la biblioteca windows.h xD

Me estoy liando..., no encuentro en google..., tengo +/- hecho el código para un script en consola, usando el exif, pero el tema sería hacerlo desde una aplicación, no depender de la consola...

MaxExtreme 20/12/2006 16:56

Re: Acceder a metadatos de imágenes
 
Cita:

Iniciado por Souf (Mensaje 1827367)
Ya que las imágenes tienen metadatos, lo ideal sería usarlos..., si con un programa editor de imágenes(por ejemplo the gimp) veis las propiedades de un jpg (por ejemplo), vereis la hora a la que fué tomada, el tipo de cámara (marca y modelo), la exposición a la luz, la iso, el balance de blancos, la FECHA, ...
Lo ideal sería acceder a esos metadatos..., lo que no se me había ocurrido era usar el stat (o lstat) y con el ver el campo st_mtime, que sería la fecha de la última modificación(última modificación del archivo, pero no sabemos con esto cuando fué creada la imágen)..., pero esto te lo da el archivo, a través del so..., pero lo ideal sería leerlo de los metadatos del fichero....

P.D.: esta aplicación sería para linux, por lo que no puedo incluir la biblioteca windows.h xD

Me estoy liando..., no encuentro en google..., tengo +/- hecho el código para un script en consola, usando el exif, pero el tema sería hacerlo desde una aplicación, no depender de la consola...

Si el header de un JPG contiene la fecha entonces simplemente trátalo con las estándar f*(); de stdio.h.

Necesitarás de alguna página obtener cómo se organiza la información en un JPG.

En cualquier caso, hay librerías ya hechas para hacer estos trabajos que deberías usar, y no reinventar la rueda.

Souf 26/12/2006 11:29

Re: Acceder a metadatos de imágenes
 
Si, pero el tema es que no encuentro esas librerías, y tampoco eso de las cabeceras de los jpgs... xDDD

P.D.:Felices fiestas a todos!! ;-)

MaxExtreme 26/12/2006 13:04

Re: Acceder a metadatos de imágenes
 
Haz click en mi firma ;)

Busca cosas como "librería JPG", "cabecera JPG"...

Eternal Idol 27/12/2006 03:41

Re: Acceder a metadatos de imágenes
 
http://www.wotsit.org/

Souf 28/12/2006 10:30

Re: Acceder a metadatos de imágenes
 
Yo creo que esto me ayudará más:

www*exif*org/

Por cierto, edita tu firma y pon esta:

www*google*com/codesearch

P.D.: Si pregunto es porque no he encontrado la respuesta, y porque evidentemente ya lo he buscado sin conseguir aclarar mi duda...

_Lucifer_ 31/12/2006 21:16

Re: Acceder a metadatos de imágenes
 
Creo que aqui sale lo que buscas, el codigo fuente del exif y otros links que te podrian ayudar.

Te recomiendo que verifiques los links, hay mucha info que te sera util.

Saludos


La zona horaria es GMT -6. Ahora son las 10:06.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.