目录
一、步骤:
要从 JPEG 图像中获取经纬度信息,可以使用 Python 的 PIL(Python Imaging Library)库。以下是一个示例代码,用于从 JPEG 图像中获取经纬度信息并打印出来:
二、源代码:
from PIL import Image
from PIL.ExifTags import TAGS, GPSTAGS
def get_exif_data(image_path):
"""
获取 JPEG 图像的 EXIF 数据
"""
exif_data = {}
with Image.open(image_path) as img:
if hasattr(img, '_getexif'):
# 获取所有 EXIF 标签
for tag, value in img._getexif().items():
if tag in TAGS:
exif_data[TAGS[tag]] = value
# 获取 GPSInfo 标签
if 'GPSInfo' in exif_data:
# 解析 GPSInfo 标签中的子标签
gps_data = {}
for gps_tag in exif_data['GPSInfo'].keys():
tag_name = GPSTAGS.get(gps_tag, gps_tag)
gps_data[tag_name] = exif_data['GPSInfo'][gps_tag]
exif_data['GPSInfo'] = gps_data
return exif_data
def get_gps_info(exif_data):
"""
从 EXIF 数据中提取经纬度信息
"""
gps_info = {}
if 'GPSInfo' in exif_data:
# 获取经度
lat = exif_data['GPSInfo']['GPSLatitude']
lat_ref = exif_data['GPSInfo']['GPSLatitudeRef']
# lat_degrees = lat[0][0] / float(lat[0][1])
lat_degrees = lat[0].numerator / float(lat[0].denominator)
# lat_minutes = lat[1][0] / f

本文介绍了一个Python代码示例,该示例利用PIL库从JPEG图像的EXIF数据中获取经纬度信息。首先,通过_getexif()方法获取图像的EXIF数据,然后解析GPSInfo标签以提取经度和纬度。代码中处理了可能出现的无EXIF数据或IFDRational对象不可下标的问题。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



