从智能手机照片中提取地理坐标
extracting geographic coordinates from a smartphone photo
我想从智能手机图片中提取地理坐标。我们所有的照片都经过地理参考,并且该信息嵌入在 headers 某处。有没有可以告诉我图片地理坐标的 matlab 或 python 函数?
我想写一个可以计算两张图片之间距离的脚本,所以如果我可以提取两张照片的地理坐标,那么我就可以计算出距离。
谢谢
我建议调查 http://python-pillow.org
以下枕头文档为您提供了获取所需内容的起点。
https://pillow.readthedocs.io/en/latest/reference/ExifTags.html#exiftags-module
可以使用外部工具吗?
使用jpegsnoop or exiftools提取一个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所述,当您从智能phone.
拍照时,请确保GPS已开启
如果你想使用 MATLAB,有一个名为 imfinfo
的函数可以从图像文件中提取 exif 数据并将其保存在结构中。您可以在 GPSInfo
字段中找到 GPS 信息。示例:
info = imfinfo('filename.png');
info.GPSInfo
然后,要访问单独的纬度和经度值(以度、分、秒表示),您可以检查字段 GPSLatitude
和 GPSLongitude
:
info.GPSInfo.GPSLatitude
info.GPSInfo.GPSLongitude
我想从智能手机图片中提取地理坐标。我们所有的照片都经过地理参考,并且该信息嵌入在 headers 某处。有没有可以告诉我图片地理坐标的 matlab 或 python 函数? 我想写一个可以计算两张图片之间距离的脚本,所以如果我可以提取两张照片的地理坐标,那么我就可以计算出距离。 谢谢
我建议调查 http://python-pillow.org
以下枕头文档为您提供了获取所需内容的起点。
https://pillow.readthedocs.io/en/latest/reference/ExifTags.html#exiftags-module
可以使用外部工具吗?
使用jpegsnoop or exiftools提取一个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所述,当您从智能phone.
拍照时,请确保GPS已开启如果你想使用 MATLAB,有一个名为 imfinfo
的函数可以从图像文件中提取 exif 数据并将其保存在结构中。您可以在 GPSInfo
字段中找到 GPS 信息。示例:
info = imfinfo('filename.png');
info.GPSInfo
然后,要访问单独的纬度和经度值(以度、分、秒表示),您可以检查字段 GPSLatitude
和 GPSLongitude
:
info.GPSInfo.GPSLatitude
info.GPSInfo.GPSLongitude