如何利用python读取图片属性信息

 更新时间:2022年03月09日 10:03:07   作者:alex1801  
这篇文章主要介绍了如何利用python读取图片属性信息,文章围绕python读取信息相关资料展开全文,具有一定的参考价值,需要的小伙伴可以参考一下

        从照片里面获取GPS信息。可交换图像文件常被简称为EXIF(Exchangeable image file format),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据,EXIF信息不支持png,webp等图片格式。

        Python中使用ExifRead包读取图片的属性信息,安装方式为:

pip install exifread

        使用exifread.process_file获取图像的信息:

img_path = r"bei_012744.jpg"
f = open(img_path, 'rb')
contents = exifread.process_file(f)
f.close()

        单步调试,contents内容如下:

GPS坐标转换:

        通过exifread获取的经纬度信息格式通常是下面这样的:纬度 [28, 56, 109097/5000] 经度 [112, 38, 436353/10000],转换公式如下:

度 = 度 + 分/60 + 秒/3600 
[28, 56, 109097/5000] = 28 + 56 / 60 + 109097/5000 / 3600 = 28.93939427777778

        因此坐标转换代码如下:

def convert_gps(coord_arr):
    arr = str(coord_arr).replace('[', '').replace(']', '').split(', ')
    d = float(arr[0])
    m = float(arr[1])
    s = float(arr[2].split('/')[0]) / float(arr[2].split('/')[1])
    return float(d) + (float(m) / 60) + (float(s) / 3600)

        完整代码:

import exifread
 
img_path = r"bei_012744.jpg"
f = open(img_path, 'rb')
contents = exifread.process_file(f)
f.close()
 
lon = contents['GPS GPSLongitude'].printable  # 经度
lon = convert_gps(lon)
lat = contents['GPS GPSLatitude'].printable  # 纬度
lat = convert_gps(lat)
altitude = contents['GPS GPSAltitude'].printable  # 相对高度
altitude = float(altitude.split('/')[0]) / float(altitude.split('/')[1])
 
print("GPSLongitude:", lon, "\nGPSLatitude:", lat, "\naltitude:", altitude)

        结果:

GPSLongitude: 112.64545425 
GPSLatitude: 28.93939427777778 
altitude: 58.009
 

 到此这篇关于如何利用python读取图片属性信息的文章就介绍到这了,更多相关python读取图片属性信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 对python3新增的byte类型详解

    对python3新增的byte类型详解

    今天小编就为大家分享一篇对python3新增的byte类型详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python3使用pandas获取股票数据的方法

    python3使用pandas获取股票数据的方法

    今天小编就为大家分享一篇python3使用pandas获取股票数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 将python字符串转化成长表达式的函数eval实例

    将python字符串转化成长表达式的函数eval实例

    这篇文章主要介绍了将python字符串转化成长表达式的函数eval实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 使用PyQt5实现一个鼠标连点器

    使用PyQt5实现一个鼠标连点器

    这篇文章主要为大家详细介绍了如何使用PyQt5实现一个鼠标连点器,从而对QVBoxLayout、QHBoxLayout和QStackedWidget进行一个回顾复习,需要的可以参考一下
    2023-12-12
  • Python格式化字符串f-string的使用教程

    Python格式化字符串f-string的使用教程

    这篇文章主要为大家详细介绍了Python中格式化字符串f-string的使用教程,文中通过示例为大家进行了详细的介绍,需要的可以参考一下
    2022-07-07
  • python实现批量视频分帧、保存视频帧

    python实现批量视频分帧、保存视频帧

    这篇文章主要为大家详细介绍了python实现批量视频分帧、保存视频帧,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Python实现去除图片中指定颜色的像素功能示例

    Python实现去除图片中指定颜色的像素功能示例

    这篇文章主要介绍了Python实现去除图片中指定颜色的像素功能,结合具体实例形式分析了Python基于pil与cv2模块的图形载入、运算、转换等相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • python实现的多任务版udp聊天器功能案例

    python实现的多任务版udp聊天器功能案例

    这篇文章主要介绍了python实现的多任务版udp聊天器功能,结合具体案例形式分析了Python基于udp的聊天器功能相关实现与使用技巧,需要的朋友可以参考下
    2019-11-11
  • Pytorch中index_select() 函数的实现理解

    Pytorch中index_select() 函数的实现理解

    这篇文章主要介绍了Pytorch中index_select() 函数的实现理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • python中matplotlib调整图例位置的方法实例

    python中matplotlib调整图例位置的方法实例

    在matplotlib中,一般图例默认是在图表内部的,如果要放置到图例外面,需要对坐标进行指定,下面这篇文章主要给大家介绍了关于python中matplotlib调整图例位置的相关资料,需要的朋友可以参考下
    2022-06-06

最新评论