获取图片的各类参数信息 查看图片用了何种修图软件
时间: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输出。
- 前端翻译:Activating Browser Modes with Doctype
- JS魔法堂:doctype我们应该了解的基础知识
- CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动
- CentOS6.5菜鸟之旅:U盘安装CentOS64位
- 人工智能创造新型态工作 制造业受冲击
- ASP.NET Core File Providers
- JS魔法堂之实战:纯前端的图片预览
- 域名publica.com近50万交易 买家身份浮出水面
- Vim杂记:Sublime的配色方案
- Vim杂记:markdown插件
- 【手把手教你全文检索】Apache Lucene初探
- 微信小程序的“小游戏” 是什么?
- CentOS6.5菜鸟之旅:中文编辑器忍痛放弃Sublime
- JS魔法堂:Data URI Scheme介绍
- 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 数组属性和方法
- linux实现自动删除最旧的几个文件详解
- 基于Ubuntu 16.04设置固定IP的方法教程
- CentOS添加和删除用户以及用户组的方法
- Linux下使用inode删除指定文件方法示例
- Apache虚拟目录配置及vue-cli反向代理的设置方法
- linux socket通讯获取本地的源端口号的实现方法
- 初识centos7与centos6的区别整理(内核、命令等)
- Apache下通过shell脚本提交网站404死链的方法
- centos查找已安装的jdk路径的方法
- CentOS7+apache+php7+mysql5.7配置教程详解
- 如何利用SystemTap统计函数执行耗时详解
- 关于安装linux redhat后无法使用yum命令安装gcc-c++问题的解决过程
- 基于代码的自动化和无代码自动化
- Java Stream中map和flatMap方法
- 关于Apache shiro实现一个账户同一时刻只有一个人登录(shiro 单点登录)