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中的对象拷贝示例 python引用传递
Jan 23 Python
Python 正则表达式(转义问题)
Dec 15 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
python存储16bit和32bit图像的实例
Dec 05 Python
Python通用循环的构造方法实例分析
Dec 19 Python
如何安装并使用conda指令管理python环境
Jul 10 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
keras模型可视化,层可视化及kernel可视化实例
Jan 24 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
Python列表如何更新值
May 27 Python
Python 3.9的到来到底是意味着什么
Oct 14 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截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
PHP获取网页所有连接的方法(附demo源码下载)
2016/03/30 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
DOM精简教程
2006/10/03 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
详解Sea.js中Module.exports和exports的区别
2017/02/12 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
js定时器实现倒计时效果
2017/11/05 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
Bootstrap Table中的多选框删除功能
2018/07/15 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
Python中非常实用的一些功能和函数分享
2015/02/14 Python
深入理解python函数递归和生成器
2016/06/06 Python
判断网页编码的方法python版
2016/08/12 Python
在python的类中动态添加属性与生成对象
2016/09/17 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
对Python模块导入时全局变量__all__的作用详解
2019/01/11 Python
详解python中的模块及包导入
2019/08/30 Python
keras实现调用自己训练的模型,并去掉全连接层
2020/06/09 Python
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
精选奢华:THE LIST
2019/09/05 全球购物
乡文化站暑期培训方案
2014/08/28 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
CSS作用域(样式分割)的使用汇总
2021/11/07 HTML / CSS