如何利用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读取图片属性信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 利用Python判断你的密码难度等级

    利用Python判断你的密码难度等级

    很多网站在用户注册账号的时候为了保证账户的安全,都会自动检测用户密码的强度并给出提醒让用户设置一个相对安全的密码。这篇文章主要给大家介绍了关于利用Python判断你的密码难度等级,需要的朋友可以参考下
    2021-06-06
  • Python中PDF转Word的多种实现方法

    Python中PDF转Word的多种实现方法

    在日常办公和数据处理中,经常需要将PDF文档转换为Word文档,以便进行编辑、修改或格式调整,Python作为一种强大的编程语言,提供了多种库和工具来实现这一功能,以下是对Python中PDF转Word技术的详细介绍,需要的朋友可以参考下
    2025-01-01
  • Python利用模糊哈希实现对比文件相似度

    Python利用模糊哈希实现对比文件相似度

    对比两个文件相似度,python中可通过difflib.SequenceMatcher/ssdeep/python_mmdt/tlsh实现,<BR>在大量需要对比,且文件较大时,需要更高的效率,可以考虑模糊哈希,本文就来和大家详细聊聊
    2023-01-01
  • Python 如何读取字典的所有键-值对

    Python 如何读取字典的所有键-值对

    这篇文章主要介绍了Python 读取字典的所有键-值对操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 一个Python优雅的数据分块方法详解

    一个Python优雅的数据分块方法详解

    在做需求过程中有一个对大量数据分块处理的场景,具体来说就是几十万量级的数据,分批处理,每次处理100个。这时就需要一个分块功能的代码。本文为大家分享了一个Python中优雅的数据分块方法,需要的可以参考一下
    2022-05-05
  • Python数据处理Filter函数高级用法示例

    Python数据处理Filter函数高级用法示例

    本文将详细介绍filter函数的使用方法,并提供丰富的示例代码,帮助你深入理解如何利用它来处理数据,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • 一篇文章带你了解python元组基础

    一篇文章带你了解python元组基础

    今天小编就为大家分享一篇关于Python中的元组介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2021-08-08
  • python+selenium+autoit实现文件上传功能

    python+selenium+autoit实现文件上传功能

    这篇文章主要介绍了python+selenium+autoit实现文件上传功能,需要的朋友可以参考下
    2017-08-08
  • OpenCV-Python使用cv2实现傅里叶变换

    OpenCV-Python使用cv2实现傅里叶变换

    在OpenCV中,我们通过cv2.dft()来实现傅里叶变换,使用cv2.idft()来实现逆傅里叶变换。本文就详细的介绍一下这两种用法,感兴趣的可以了解一下
    2021-06-06
  • Python光学仿真学习处理高斯光束分布图像

    Python光学仿真学习处理高斯光束分布图像

    这篇文章主要为大家介绍了Python光学仿真学习之如何处理高斯光束的分布图像,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10

最新评论