Pergunta

É possível, em um aplicativo para iPhone, para extrair informações de localização (geocódigo, suponho que é chamado) a partir de uma foto tirada com a câmera do iPhone?

Se não houver nenhuma chamada de API para fazê-lo, há alguma maneira conhecida para analisar os bytes de dados para extrair as informações? Algo que pode rolar em meu próprio?

Foi útil?

Solução

Infelizmente não.

O problema é assim;

A jpeg arquivo consiste em várias partes. Para esta pergunta os que estamos interessados ??são os dados de imagem e os dados EXIF. Os dados de imagem é a imagem e os dados EXIF ??são onde coisas como geocodificação, velocidade do obturador, tipo de câmera e assim por diante são armazenados.

A UIImage (e CGImage) contém apenas dados de imagem, há tags.

Quando o seletor de imagem seleciona uma imagem (a partir da biblioteca ou a câmera) ele retorna um UIImage, não um jpeg. Este UIImage é criado a partir dos dados de imagem jpeg, mas os dados EXIF ??no jpeg é descartado.

Isto significa esses dados não está no UIImage em tudo e, portanto, não está acessível.

Outras dicas

Eu acho que a resposta selecionada está errado, na verdade. Bem, não é errado. Tudo o que disse é correto, mas há uma maneira de contornar essa limitação.

UIImagePickerController passa um dicionário, juntamente com o UIImage ele retorna. Uma das chaves é UIImagePickerControllerMediaURL que é "a URL do sistema de arquivos para o filme". No entanto, como observou aqui em versões mais recentes do iOS ele retorna um URL para imagens também. Casal que, com a exif biblioteca mencionado por @Jasper e você pode ser capaz de puxar geotags a partir de fotografias.

Eu não tentei este método, mas como @tomtaylor mencionado, isso tem que ser possível de alguma forma, uma vez que existem alguns aplicativos que fazem isso. (Por exemplo Lab ).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top