Pregunta

¿Es posible, en una aplicación de iPhone, extraer información de ubicación (geocodificación, supongo que se llama) de una foto tomada con la cámara del iPhone?

Si no hay una llamada de API para hacerlo, ¿hay alguna forma conocida de analizar los bytes de datos para extraer la información? ¿Algo que pueda rodar por mi cuenta?

¿Fue útil?

Solución

Lamentablemente no.

El problema es por lo tanto;

Un archivo jpeg consta de varias partes. Para esta pregunta, los que nos interesan son los datos de imagen y los datos exif. Los datos de imagen son la imagen y los datos exif son donde se almacenan elementos como la geocodificación, la velocidad de obturación, el tipo de cámara, etc.

Un UIImage (y CGImage) solo contienen datos de imagen, no etiquetas.

Cuando el selector de imágenes selecciona una imagen (ya sea de la biblioteca o de la cámara), devuelve un UIImage, no un jpeg. Este UIImage se crea a partir de los datos de imagen jpeg, pero los datos exif en el jpeg se descartan.

Esto significa que estos datos no se encuentran en el UIImage y, por lo tanto, no son accesibles.

Otros consejos

Creo que la respuesta seleccionada es incorrecta, en realidad. Bueno, no está mal. Todo lo que dice es correcto, pero hay una forma de evitar esa limitación.

UIImagePickerController pasa un diccionario junto con el UIImage que devuelve. Una de las claves es UIImagePickerControllerMediaURL que es " la URL del sistema de archivos para la película " ;. Sin embargo, como se señaló aquí en las versiones más recientes de iOS también devuelve una url para las imágenes. Combine eso con la biblioteca exif mencionada por @Jasper y es posible que puedas sacar etiquetas geográficas de las fotos.

No he probado este método, pero como mencionó @tomtaylor, esto tiene que ser posible de alguna manera, ya que hay algunas aplicaciones que lo hacen. (por ejemplo, Lab ).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top