获取图片的各类参数信息 查看图片用了何种修图软件
时间:2022-07-23
本文章向大家介绍获取图片的各类参数信息 查看图片用了何种修图软件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
图片参数
概述
有些时候,对于一张图片,仅能看到他呈现的图像是不能满足需求的,这就需要获取一些图片的其他相关信息。这里分享两种方法。
假如有一天有网友给你发了一个自拍,说这是他的自拍,见面后发现图片和真人是两个人,是不是贼刺激。
1.软件获取图片的修图信息
点击运行软件即可,接着就能看到打开图像的基本信息,对我们有用的一般就是基本参数和是否被处理过,在这软件中都可以看到。
由于我这种图被手机自带的AI优化处理过,所以最后给的评级结果是“处理过的可能很大”。下面那张图片是我用Photoshop处理过的,他自动识别用Photoshop处理过。
2.Python读取图片信息
由于我是需要把图片的部分参数信息用到图像处理中,总不能每次都用这个软件读取,接着复制进工程。因此就查了部分资料得知,可以利用exifread模块获取图片的exif信息,就写了一点代码实现读取图片信息用于工程。此处仅输出图片的经纬度和拍摄时间(最后想到了之前一个朋友问我的一个问题:能不能知道一个图片是不是今天拍的,于是就加了几句拍摄时间是否为今天的语句)代码如下。
import exifread
import datetime
# 使用 exifread 获取图片的元数据
img_exif = exifread.process_file(open('D:/图片/MyPhone/IMG_20191020_194207R.jpg', 'rb'))
# 能够读取到属性
if img_exif:
# 纬度数
latitude_gps = img_exif['GPS GPSLatitude']
# N,S 南北纬方向
latitude_direction = img_exif['GPS GPSLatitudeRef']
# 经度数
longitude_gps = img_exif['GPS GPSLongitude']
# E,W 东西经方向
longitude_direction = img_exif['GPS GPSLongitudeRef']
# 拍摄时间
take_time = img_exif['EXIF DateTimeOriginal']
print(latitude_gps, latitude_direction, longitude_gps, longitude_direction, take_time)
# 判断拍摄时间是否是在今天
# 拍摄时间
format_time = str(take_time).split(" ")[0].replace(":", "-")
# 当天日期
today = str(datetime.date.today())
if format_time == today:
print("该图片是今天拍摄")
else:
print("该图片不是今天拍摄")
else:
print("该图片已经处理过,无法获取图片信息")
这里我只输出了一部分对我有用的参数,具体的参数,可以自己查询其Key输出。
- dedecms清空所有文章怎么操作?sql语句如何写?
- .NET Core 实战笔记2-从命令开始
- 【译】使用Docker Compose一条指令配置Mesos
- 【译】Windows下的Docker Machine - 如何设置你的Docker主机
- 史上最透彻的KMP算法讲解
- 【译】助你成功搭建云应用的12条方法
- 你能用微信小程序打开小程序了【附开发方法】
- Logistic回归实战篇之预测病马死亡率(一)
- 腾讯游戏DBA利刃 - SQL审核工具介绍
- Logistic回归实战篇之预测病马死亡率(二)
- Windows环境下跑通Truffle开发环境
- Logistic回归实战篇之预测病马死亡率(三)
- 如何将finecms链接URL中的list和show去掉
- Solidity语法知识点(文末有彩蛋)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 微信JSSDK分享页面自定义当前链接最简单示例
- (一)python3 只需3小时带你轻松入门—— 编程尝试
- (二)python3 只需3小时带你轻松入门——基本变量
- (三)python3 只需3小时带你轻松入门—— 变量的简单运算
- (四)python3 只需3小时带你轻松入门—— 流程控制
- (五)python3 只需3小时带你轻松入门—— 逻辑运算符
- (六)python3 只需3小时带你轻松入门——循环
- (七)python3 只需3小时带你轻松入门——List与dict
- Rstudio支持可视化的Markdown编辑了?
- (八)python3 只需3小时带你轻松入门——List 与 dict 的常用操作
- (九)python3 只需3小时带你轻松入门——函数自定义
- (十)python3 只需3小时带你轻松入门——模块与包
- (十一)python3 只需3小时带你轻松入门——面向对象
- 一文读懂KEGG数据库
- (创建模式 上)设计模式——工厂、抽象工厂 C++/Python3实现