python-获取图片的exif信息

python-获取图片的exif信息

 震惊——一张照片就暴露了你的基本信息

 

你能想象得到,你的信息的丢失可能是一张照片导致的吗?你能想象,我们只用你的一张照片就可以知道你的具体位置,以及你手机的基本信息吗?你能想象得到,我们自己也可以获取到图片上的信息吗?

 

小明:我能呀!

小编:不,你不能。

 

好,今天我就教大家如何掌握这项技术手段,简简单单,轻轻松松获取到照片中的所有信息。

 

01— 思路

 

好了,我们来看具体的实现材料以及思路吧!

 

材料:

1、一张手机照片,注意,一定要通过摄像头拍下来的照片,否则可能也是识别不了的。

2、安装一个python模块。

 

我们来看一下思路吧!

 

首先经过了解,我们查询到图片是拥有自己独立的exif。(百度百科:可交换图像文件格式(英语:Exchangeable image file format,官方简称Exif),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据。)

 

那现在不就好起来了吗?你既然是专门拥有的,那我直接获取,那不香吗?

于是查询到python库:

pip install exifread

 

 

完美,然后我们继续来看。

 

 

02— 代码获取图片信息

 

好嘞,我们来写代码了。

 

代码如下:

#-*- coding:utf-8 -*-
#!/usr/bin/env python
​
import exifread#导入我们需要的模块
​
f = open("IMG_20200408_114639.jpg", 'rb')#读取我们需要的文字
​
tags = exifread.process_file(f)#获取exif信息
​
lat = str(tags.get('GPS GPSLatitude', '0')).split("[")[1].split("]")[0].split(",")
​
print("纬度为:",float(lat[0])+float(lat[1])/60+float(lat[2].split("/")[0])/float(lat[2].split("/")[1])/3600)
long= str(tags.get('GPS GPSLongitude', '0')).split("[")[1].split("]")[0].split(",")
​
print("经度为:",float(long[0])+float(long[1])/60+float(long[2].split("/")[0])/float(long[2].split("/")[1])/3600)

 

其中关键性的句子是​:tags.get(‘GPS GPSLatitude’, ‘0’)

 

这句是获取我们需要的值的对应信息​。当然不同的值有不同的获取方式​。

 

这里我们主要是获取经纬度,然后通过网上搜索的地图,我们便可以获取到这张照片的具体位置​。

 

图片中除了经纬度,还有什么其他关键性的信息呢​!公众号后台回复“exif”获取源代码以及相关文件,一并交于你。

 

 

相关​推荐:

女神节–唯美表白树,让她(他)感受到你的温柔

零基础快速打造一个属于自己的微信聊天工具

二维码表白之二维码里面的小秘密

python–让你的电脑调用手机摄像头,实现电脑自由拍照

涨姿势——教你如何获取图片上的文字

扫描下方二维码快来关注我们,更多好玩有趣的内容等你呦!

 

 

python-获取图片的exif信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111404.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • idea 2021激活码_最新在线免费激活

    (idea 2021激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0…

  • GBDT算法详解_gbdt算法

    GBDT算法详解_gbdt算法基本思想GBDT的基本结构是决策树组成的森林,学习方式是梯度提升。具体的讲,GBDT作为集成模型,预测的方式是把所有子树的结果加起来。GBDT通过逐一生成决策子树的方式生成整个森林,生成新子树的过程是利用样本标签值与当前树林预测值之间的残差,构建新的子树。例如,当前已经生成了3课子树了,则当前的预测值为D(x)=d1(x)+d2()x+d3(x),此时我们得到的当前的预测值为D(x)效果并不好,与真正的拟合函数f(x)还有一定的差距。GBDT希望的是构建第四棵子树,使当前树林的预测结果D(x)与第四棵

    2022年10月12日
  • C语言if语句的基本用法

    C语言if语句的基本用法C语言if语句的基本用法一、if…1.一般形式:if(表达式){语句;}表达式:a,用非0值表示真,用0表示真;b,if(flag)相当于if(1==flag)c,浮点数无法与0比较,只能用近似的值比较;例:(1e-6)相当于1×10的-6次方;2.用于单分支选择结构;3.如含有交叉关系,使用并列的if语句;例:输出两个整数中的最大值#inclu…

  • 用Pytest+Allure生成漂亮的HTML图形化测试报告[通俗易懂]

    用Pytest+Allure生成漂亮的HTML图形化测试报告[通俗易懂]对于软件测试来说,测试报告是非常重要的工作产出。一个漂亮、清晰、格式规范的测试报告,能够减少开发人员和测试人员的沟通成本。本篇文章将介绍如何使用开源的测试报告生成框架Allure生成规范、格式统一、美观的测试报告。通过这篇文章的介绍,你将能够:-将Allure与Pytest测试框架相结合;-执行测试之后,生成Allure格式的测试报告。1、Allure测…

  • 如何在Windows上下载,安装或卸载PyCharm?「建议收藏」

    如何在Windows上下载,安装或卸载PyCharm?「建议收藏」PyCharmisaPythonIDEthatprovideseasinesstodevelopedPythonApplication.PyCharmprovidesalotofusefulfeatureslikesmartcodecompletion,codeinspection,on-the-flyerrorhighlighting,qui…

  • 词向量模型(1)[通俗易懂]

    词向量模型(1)[通俗易懂]词向量模型one-hotVectorone-hotvector最简单的编码方式:假设我们的词库总共有n个词,那我们开一个1*n的高维向量,而每个词都会在某个索引index下取到1,其余位置全部都取值为0。问题这种词向量编码方式简单粗暴,我们将每一个词作为一个完全独立的个体来表达。遗憾的是,这种方式下,我们的词向量没办法给我们任何形式的词组相似性权衡。因为你开了一个极高维度的…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号