使用Python对JPEG图像进行地理标记的最佳方法是使用OpenCV库和Pillow库。
首先,安装所需的库:
pip install opencv-python-headless
pip install Pillow
然后,使用以下代码将地理标记添加到JPEG图像中:
import cv2
from PIL import Image, ImageDraw, ImageFont
def add_geotag(image_path, latitude, longitude):
# 读取图像
image = cv2.imread(image_path)
# 将经纬度转换为字符串
lat_str = "{:.5f}".format(latitude)
lon_str = "{:.5f}".format(longitude)
# 创建一个字体对象
font = ImageFont.truetype("arial.ttf", 20)
# 创建一个画布对象
draw = ImageDraw.Draw(image)
# 在图像上绘制经纬度
draw.text((10, 10), f"Lat: {lat_str}", font=font, fill=(255, 255, 255))
draw.text((10, 30), f"Lon: {lon_str}", font=font, fill=(255, 255, 255))
# 将OpenCV图像转换为Pillow图像
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
image = Image.fromarray(image)
# 保存带有地理标记的图像
image.save("geotagged_image.jpg")
# 使用示例
add_geotag("input_image.jpg", 39.9042, 116.4074)
这段代码将在给定的JPEG图像上添加地理标记,包括纬度和经度。您可以使用任何您想要的经纬度值调用add_geotag
函数。
注意:在实际应用中,您可能需要根据设备的GPS模块获取实时的经纬度数据。此外,您还可以使用其他库,如exifread或pyexif,来从照片的EXIF数据中提取经纬度信息。
领取专属 10元无门槛券
手把手带您无忧上云