25 lines
785 B
Python
25 lines
785 B
Python
import exifread
|
|
import json
|
|
# 读取大疆的图片的元信息,并返回前端,输入为图片的路径
|
|
def read_dji_exif_to_dict(image_path):
|
|
with open(image_path, 'rb') as f:
|
|
tags = exifread.process_file(f)
|
|
|
|
# 初始化结果字典
|
|
exif_dict = {
|
|
"all_tags": {},
|
|
"dji_tags": {}
|
|
}
|
|
|
|
# 处理所有标签(排除缩略图和文件名)
|
|
for tag in tags.keys():
|
|
if tag not in ('JPEGThumbnail', 'TIFFThumbnail', 'Filename'):
|
|
exif_dict["all_tags"][str(tag)] = str(tags[tag]) # 统一转为字符串
|
|
|
|
# 提取大疆特有标签
|
|
dji_tags = [k for k in tags.keys() if 'DJI' in str(k) or 'Drone' in str(k)]
|
|
for tag in dji_tags:
|
|
exif_dict["dji_tags"][str(tag)] = str(tags[tag])
|
|
|
|
return exif_dict
|