我正在尝试从图像中获取地理位置,以显示它在哪里拍摄。 我正在使用exifread libriary和这个函数:
def info(image):
f = open(image, 'rb')
tags = dict(exifread.process_file(f))
for tag in tags.keys():
if "GPS" in tag:
print "Key: %s, value %s" % (tag, tags[tag])
return
它返回给我这个信息:
Key: GPS GPSLatitudeRef, value N
Key: GPS GPSLatitude, value [42, 51, 28]
Key: GPS GPSProcessingMethod, value [65, 83, 67, 73, 73, 0, 0, 0, 71, 80, 83]
Key: GPS GPSDate, value 2015:08:18
Key: GPS GPSVersionID, value [2, 2, 0, 0]
Key: Image GPSInfo, value 722
Key: GPS GPSAltitudeRef, value 0
Key: GPS GPSTimeStamp, value [17, 42, 7]
Key: GPS GPSLongitude, value [74, 19, 35]
Key: GPS GPSLongitudeRef, value E
Key: GPS GPSAltitude, value 694
我使用GPSLatitude(42.5128)和GPSLongitude(74.1935)作为坐标,但精度非常低,因为逗号后只有4个数字。 我该怎么做才能获得更准确的结果?
答案 0 :(得分:0)
假设位置是由消费级(非军用)装备确定的,没有其他类型的修正,小数点后4位就像你能够得到的那样准确。
一些有用的链接:
答案 1 :(得分:0)
Exif使用有理数存储纬度/经度数据。即A/B
。您正在使用的库正在将它们转换为HMS,并可能丢失一些信息。通过另一个Exif查看器运行图像来检查是否是这种情况,理想情况是读取原始合理值。然后,您可以了解图像的元数据是否比从exifread获得的更精确。