Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等

时间:2019-09-17
本文章向大家介绍Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等,主要包括Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

通过第三方库exifread读取照片信息。
exifread官网:https://pypi.org/project/ExifRead/

一、安装exifread
pip install exifread

二、读取照片信息例子

import exifread
# Open image file for reading (binary mode)
f = open('001.jpg', 'rb')

# Return Exif tags
tags = exifread.process_file(f)

'''
#打印所有照片信息
for tag in tags.keys():    
    print("Key: {}, value {}".format(tag, tags[tag]))
'''

#打印照片其中一些信息
print('拍摄时间:', tags['EXIF DateTimeOriginal'])
print('照相机制造商:', tags['Image Make'])
print('照相机型号:', tags['Image Model'])
print('照片尺寸:', tags['EXIF ExifImageWidth'], tags['EXIF ExifImageLength'])

def getLatOrLon(refKey, tudeKey):
    '''
    获取经度或纬度
    '''
    if refKey not in tags:
        return None
    ref=tags[refKey].printable
    LatOrLon=tags[tudeKey].printable[1:-1].replace(" ","").replace("/",",").split(",")
    LatOrLon=float(LatOrLon[0])+float(LatOrLon[1])/60+float(LatOrLon[2])/float(LatOrLon[3])/3600
    if refKey == 'GPS GPSLatitudeRef' and tags[refKey].printable != "N":
        LatOrLon=LatOrLon*(-1)
    if refKey == 'GPS GPSLongitudeRef' and tags[refKey].printable != "E":
        LatOrLon=LatOrLon*(-1)
    return LatOrLon

print('经度:', getLatOrLon('GPS GPSLongitudeRef','GPS GPSLongitude'))
print('纬度:', getLatOrLon('GPS GPSLatitudeRef','GPS GPSLatitude'))

原文地址:https://www.cnblogs.com/gdjlc/p/11537776.html