python 通过exifread读取照片信息


Posted in Python onDecember 24, 2020

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

一、安装exifread

pip install exifread

二、读取照片信息,以及根据经纬度通过百度地图API获取位置

import exifread
import json
import urllib.request

# 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 getLatOrLng(refKey, tudeKey):
  if refKey not in tags:
    return None
  ref=tags[refKey].printable
  LatOrLng=tags[tudeKey].printable[1:-1].replace(" ","").replace("/",",").split(",")
  LatOrLng=float(LatOrLng[0])+float(LatOrLng[1])/60+float(LatOrLng[2])/float(LatOrLng[3])/3600
  if refKey == 'GPS GPSLatitudeRef' and tags[refKey].printable != "N":
    LatOrLng=LatOrLng*(-1)
  if refKey == 'GPS GPSLongitudeRef' and tags[refKey].printable != "E":
    LatOrLng=LatOrLng*(-1)
  return LatOrLng

#调用百度地图API通过经纬度获取位置
def getlocation(lat,lng):  
  url = 'http://api.map.baidu.com/geocoder/v2/?location=' + lat + ',' + lng + '&output=json&pois=1&ak=申请的百度地图KEY'
  req = urllib.request.urlopen(url)
  res = req.read().decode("utf-8") 
  str = json.loads(res)
  #print(str)
  jsonResult = str.get('result')
  formatted_address = jsonResult.get('formatted_address')
  return formatted_address

lat = getLatOrLng('GPS GPSLatitudeRef','GPS GPSLatitude') #纬度
lng = getLatOrLng('GPS GPSLongitudeRef','GPS GPSLongitude') #经度
print('纬度:{} 经度:{}'.format(lat, lng))

location = getlocation(str(lat), str(lng))
print('位置:{}'.format(location))

以上就是python 通过exifread读取照片信息的详细内容,更多关于python 读取照片信息的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python生成随机密码的方法
Jun 16 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
Jan 15 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
用Python写一个自动木马程序
Sep 17 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
Python使用requests xpath 并开启多线程爬取西刺代理ip实例
Mar 06 Python
解决python中0x80072ee2错误的方法
Jul 19 Python
flask开启多线程的具体方法
Aug 02 Python
python字典key不能是可以是啥类型
Aug 04 Python
PyCharm2020.1.2社区版安装,配置及使用教程详解(Windows)
Aug 07 Python
Python与C/C++的相互调用案例
Mar 04 Python
Python基础之元编程知识总结
May 23 Python
python 如何上传包到pypi
Dec 24 #Python
python 基于PYMYSQL使用MYSQL数据库
Dec 24 #Python
python xlsxwriter模块的使用
Dec 24 #Python
想学画画?python满足你!
Dec 24 #Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 #Python
用python获取txt文件中关键字的数量
Dec 24 #Python
举例讲解Python装饰器
Dec 24 #Python
You might like
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
jq checkbox 的全选并ajax传参的实例
2017/04/01 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
vue element项目引入icon图标的方法
2018/06/06 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
element实现合并单元格通用方法
2019/11/13 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
详解Python中的__new__()方法的使用
2015/04/09 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
基于Python的PIL库学习详解
2019/05/10 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
苹果Mac升级:MacSales.com
2017/11/20 全球购物
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
毕业生找工作的求职信范文
2013/12/24 职场文书
廉政教育心得体会
2014/01/01 职场文书
医德医魂心得体会
2014/09/11 职场文书
学校领导班子四风对照检查材料
2014/09/27 职场文书
作弊检讨书
2015/01/27 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
养成教育工作总结
2015/08/13 职场文书
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS