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 相关文章推荐
Swift 3.0在集合类数据结构上的一些新变化总结
Jul 11 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
Python通过Pygame绘制移动的矩形实例代码
Jan 03 Python
Flask Web开发入门之文件上传(八)
Aug 17 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
Oct 14 Python
Python将string转换到float的实例方法
Jul 29 Python
基于python中__add__函数的用法
Nov 25 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
Mar 31 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
Apr 16 Python
Django与pyecharts结合的实例代码
May 13 Python
Python实现自动签到脚本的示例代码
Aug 19 Python
Python3接口性能测试实例代码
Jun 20 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
关于IIS php调用com组件的权限问题
2012/01/11 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
PHP实现的mysql读写分离操作示例
2018/05/22 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
PHP时间日期增减操作示例【date strtotime实现加一天、加一月等操作】
2018/12/21 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
javascript学习之闭包分析
2010/12/02 Javascript
最新28个很棒的jQuery 教程
2011/05/28 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
2019/03/16 jQuery
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
Python3进制之间的转换代码实例
2019/08/24 Python
Django框架 querySet功能解析
2019/09/04 Python
python 循环数据赋值实例
2019/12/02 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
2020/04/29 Python
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
高中地理教学反思
2014/01/29 职场文书
销售人才自我评价范文
2014/09/27 职场文书
债务纠纷委托书范本
2014/10/14 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
浅谈Python项目的服务器部署
2021/04/25 Python