从智能手机照片中提取地理坐标

时间:2017-03-10 03:11:02

标签: python matlab geolocation geospatial photos

我想从智能手机图片中提取地理图形坐标。我们所有的照片都是地理配准的,并且信息嵌入在某处的标题中。有没有matlab或python函数可以告诉我图片的地理坐标? 我想写一个可以计算两个图像之间距离的脚本,所以如果我可以提取两张照片的地理坐标,那么我就能计算出距离。 感谢

3 个答案:

答案 0 :(得分:1)

如果你想使用MATLAB,有一个名为imfinfo的函数,它从图像文件中提取exif数据并将其保存在结构中。您可以在GPSInfo字段中找到GPS信息。例如:

info = imfinfo('filename.png');
info.GPSInfo

然后,要访问各个纬度和经度值(以度,分,秒表示),您可以查看字段GPSLatitudeGPSLongitude

info.GPSInfo.GPSLatitude
info.GPSInfo.GPSLongitude

答案 1 :(得分:0)

我建议调查http://python-pillow.org

以下枕头文档为您提供了获得所需内容的起点。

https://pillow.readthedocs.io/en/latest/reference/ExifTags.html#exiftags-module

答案 2 :(得分:0)

您是否可以使用外部工具?

使用jpegsnoopexiftools提取txt文件。我不记得确切的命令,但你可以很容易地找到它。这两个工具都有可执行文件和代码。就个人而言,我更喜欢jpegsnoop。

system('jpegsnoop.exe image/path ... output_image.txt);

阅读包含地理标记的txt文件。最多可能有7个标签,不同的相机品牌使用不同的标签。其中,将选择地理位置(我不能回想起确切的名称,但它包含名称中的长篇大论和优势)。

您可以通过简单的while循环执行此操作:

 while (line = readline) ~= EOF
      if line.startsWith (geo-tags)
             print line %or add to cell array etc.

根据我的经验,python不如jpegsnoop

如上所述 NaN ,请确保从智能手机拍摄照片时gps已开启。