我想从智能手机图片中提取地理坐标。我们所有的照片都是地理参考的,这些信息被嵌入到某个地方的标题中。有matlab或python函数可以告诉我图片的地理坐标吗?我想写一个脚本来计算两张照片之间的距离,所以如果我能提取两张照片的地理坐标,我就可以计算出距离。谢谢
发布于 2017-03-10 18:20:41
如果要使用MATLAB,有一个名为imfinfo的函数,它从图像文件中提取exif数据并将其保存在结构中。您可以在GPSInfo字段中找到GPS信息。示例:
info = imfinfo('filename.png');
info.GPSInfo然后,要访问各个纬度和经度值(以度、分钟、秒表示),可以检查字段GPSLatitude和GPSLongitude
info.GPSInfo.GPSLatitude
info.GPSInfo.GPSLongitude发布于 2017-03-10 04:03:05
我建议调查一下http://python-pillow.org
下面的枕头文档为您提供了获取所需内容的起点。
https://pillow.readthedocs.io/en/latest/reference/ExifTags.html#exiftags-module
发布于 2017-03-10 06:21:24
允许使用外部工具吗?
使用jpegsnoop或出口工具提取txt文件。我不记得确切的命令,但你可以很容易地找到它。这两个工具都有可执行文件和可用代码。就我个人而言,我更喜欢jpegsnoop。
system('jpegsnoop.exe image/path ... output_image.txt);读取包含geo标记的txt文件。可能有多达7个标签,不同的相机品牌使用不同的标签。其中,将选择地理位置(我不记得确切的名称,但它包含长度和延迟在名称中)。
您可以通过一个简单的while循环来完成这一任务:
while (line = readline) ~= EOF
if line.startsWith (geo-tags)
print line %or add to cell array etc.根据我的经验,python不如jpegsnoop好。
正如NaN所提到的,当你用智能手机拍照时,一定要确保gps是开着的。
https://stackoverflow.com/questions/42709502
复制相似问题