Exif认识(二)
通过php获取exif信息后,像光圈和快门的值还需要转换下,才是我们常用看得懂的值
ApertureValue的值:
拍照时镜头的光圈. 单位是 APEX. 为了转换成普通的 F-number(F-stop), 则要先计算出根号2 2 (=1.4142)的ApertureValue次幂. 例如, 如果ApertureValue 是 '5', F- number 就等于1.41425 = F5.6.
ShutterSpeedValue的值:
用APEX表示出的快门速度. 为了转换成原始的 'Shutter Speed'; 则先要计算2的ShutterSpeedValue次幂, 然后求倒数. 例如, 如果 ShutterSpeedValue 是 '4', 快门速度则是1/(24)=1/16秒.
上一段php代码
public function getImageExif($exif = array())
	{
$exifInfo = array();
if(!$exif) return $exifInfo;
$ApertureValue = '';
$ShutterSpeedValue = '';
if (isset($exif['ApertureValue'])){
$ApertureValue = $exif['ApertureValue'];
$temp = explode('/' , $ApertureValue);
$ApertureValue = ceil(pow(2 , $temp[0] / $temp[1] /2));
}
if (isset($exif['ShutterSpeedValue'])){
$ShutterSpeedValue = $exif['ShutterSpeedValue'];
$temp = explode('/' , $ShutterSpeedValue);
$ShutterSpeedValue = ceil(pow(2 , -$temp[0] / $temp[1] /2));
}
}
这样获取的值就是光圈 f/22或快门 1/6 这种形式的
参考:http://www.cppblog.com/lymons/archive/2010/02/23/108266.aspx
Exif认识(二)的更多相关文章
- Android 下的EXIF
		
一.什么是Exif Exif(Exchangeable Image File 可交换图像文件)是一种图象文件格式,它的数据存储与JPEG格式是完全相同的.实际上Exif格式就是在JPEG格式头部插入了 ...
 - IOS: 使用imageIO获取和修改图片的exif信息
		
使用imageIO获取和修改图片的exif信息 一幅图片除了包含我们能看见的像素信息,背后还包含了拍摄时间,光圈大小,曝光等信息.UIImage类将这些细节信息都隐藏了起来,只提供我们关心的图片尺寸, ...
 - .net c#通过Exif获取图片信息(参数)
		
简介 想要获取图片的信息,例如快门速度.ISO值等等,我们可以通过读取Exif中存储的信息.Exif(Exchangeable Image File)是存储在JPEG格式照片头部的一段信息,相机和手机 ...
 - Natas Wargame Level 13 Writeup(文件上传漏洞,篡改file signature,Exif)
		
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqMAAADDCAYAAAC29BgbAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF
 - 微信原图泄露的只能是 Exif ,你的隐私不在这!!!
		
版权声明: 本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有. 每周会统一更新到这里,如果喜欢,可关注公众号获取最新文章. 未经允许,不得转载. 序 最近很多公众号都推送了关 ...
 - js获取图片的EXIF,解决图片旋转问题
		
相信大家在做项目的时候会遇到在canvas里加入图片时,图片发生90°,180°的旋转.当时的你肯定时懵逼的,为毛. 其实这就是图片的EXIF搞的鬼. 什么是EXIF 简单来说,Exif 信息就是由数 ...
 - Android--操作图片Exif信息
		
前言 在Android系统中,图片文件在内存中以像素点的二维数组加载,存放像素信息,还会在开头加上一些额外的照片拍摄参数信息,这些信息就是Exif.Android2.0之后,媒体库加入了操作图片Exi ...
 - Universal-Image-Loader解析(二)——DisplayImageOptions的详细配置与简单的图片加载
		
在使用这个框架的时候,我们必须要配置一个DisplayImageOptions对象来作为ImageLoader.getInstance().displayImage()中的参数,所以很有必要讲解这个对 ...
 - 利用图片中的exif元数据批量查找图片中所包含的GPS信息
		
在图片的exif(交换图像文件格式)中标准定义了如何存储图像和音频文件的标准,而在这些标签中往往存在了一些容易被人们忽视却又重要的东西. 有一款工具名为exiftool,可以快速的解析所有标签,并将结 ...
 
随机推荐
- 简单的基于promise的ajax封装
			
基于promise的ajax封装 //调用方式: /* ajaxPrmomise({ url:, method:, headers:{} }).then(res=>{}) */ ;(functi ...
 - XLNet原理探究
			
1. 前言 XLNet原文链接是CMU与谷歌大脑提出的全新NLP模型,在20个任务上超过了BERT的表现,并在18个任务上取得了当前最佳效果,包括机器问答.自然语言推断.情感分析和文档排序. 这篇新论 ...
 - 2019第一期《python测试开发》课程,10月13号开学
			
2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...
 - 【ORACLE】Oracle提高篇之DECODE
			
DECODE含义 decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)这个是decode的表达式,具体的含义解释为: IF 条件=值1 THEN RETURN(翻译值1) E ...
 - 201871010133-赵永军《面向对象程序设计(java)》第七周学习总结
			
201871010133-赵永军<面向对象程序设计(java)>第七周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这 ...
 - CF1245 A. Good ol' Numbers Coloring(java与gcd)
			
题意:给定数字A和数字B,问是否满足gcd(A,B)==1. 思路:可以直接写函数gcd.也可以用大数自带的gcd功能. 代码1: /* @author nimphy @create 2019-11- ...
 - [Tkinter 教程12] 布局管理 (Pack Place Grid)
			
简介: 本文讲述如何使用 tkinter 的布局管理 (被称作 layout managers 或 geometry managers). tkinter 有三种布局管理方式: pack grid p ...
 - python 并行处理数据
			
来源:https://blog.csdn.net/weixin_42001089/article/details/88843152 import multiprocessing import time ...
 - LG2045 方格取数加强版  费用流
			
问题描述 LG2045 题解 费用流. 套路拆点,把\((i,j)\)拆为两个点,在这两个点之间连边:一条边流量为\(1\),费用为\(a_{i,j}\),另一条边为流量为\(INF\),费用为\(0 ...
 - [清华集训2017]小 Y 和地铁(神奇思路,搜索,剪枝,树状数组)
			
世界上最不缺的就是好题. 首先考虑暴搜.(还有什么题是从这东西推到正解的……) 首先单独一个换乘站明显没用,只用考虑一对对的换乘站. 那么有八种情况:(从题解偷图) 然后大力枚举每个换 ...