如何使用图片的exif信息计算相机焦距
135胶卷源于35mm高度的打孔电影胶片,1913年,德国人奥斯卡·巴纳克将其用于他发明的徕卡(Leica)牌小型照相机上,由此形成标准。
35mm电影胶卷,35mm指的是胶卷的高度为35mm,由于上下两端有齿孔,所以有效高度为24mm,这种胶片的单幅图像感光面积为24mm*36mm。
详细见:135胶片。135胶片的实物如下图所示。

针对35mm相机的焦距、胶片的单幅图像的感光区域尺寸为:焦距F35=35mm,胶片尺寸为:宽W35=36mm × 高H35=24mm(如果加上上、下两端的齿孔,胶卷的高度为35mm)。
35mm等效焦距: 35mm等效焦距是摄影术语之一,可以理解为将当前使用的芯片映射到与135胶卷底片同样大小后,对应的焦距是多少。 135胶卷感光面积为24mm*36mm, 通过勾股定理可算出斜边长约为43.27mm。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
市面上主流的单反数码相机的焦距、CCD尺寸与标准35mm相机的焦距、胶片尺寸的分别成正比列关系,所以有如下换算公式(单位均为mm):
公式(1):

将毫米转换为像素的换算公式为(上面三个量单位为像素,下面三个量单位为mm):
公式(2):

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在做基于图像的三维重建和视觉测量的应用中,如果不想做复杂的相机标定,那么可以从图像的exif信息中获取相机的焦距信息。这里提供两种方法:
1.通过35mm等效焦距来计算:
图像的exif信息可以从图像的属性中获取,例如下图中,可以看出35mm等效焦距为35mm, 根据35mm胶片的尺寸为36mmx24mm,
那么,根据本文前面的公式(2)可以计算得相机的焦距为(以像素为单位的焦距) F = 2832 * 35 / 36 = 2753.33 pixel。

2.根据ccd尺寸计算焦距,首先从图中可知相机的焦距为6毫米,根据相机型号KODAK Z612 查询http://www.dpreview.com/得知,此款相机的ccd尺寸为5.75mm,
那么根据本文前面的公式(2)可以计算得, F = 2832 * 6/5.75=2955.13 pixel。
原文链接:https://blog.csdn.net/non_hercules/article/details/111699080
参考链接:https://blog.csdn.net/sinat_38129976/article/details/116448487
参考链接:焦距的物理尺度、像素尺度之间的转换关系以及35mm等效焦距
参考链接:Estimating the focal length of a photo from EXIF tags
参考链接:SFM之通过exif获取初始焦距
参考链接:sensor尺寸、35mm等效焦距、FOV、ZOOM倍数的换算关系
如何使用图片的exif信息计算相机焦距的更多相关文章
- IOS: 使用imageIO获取和修改图片的exif信息
使用imageIO获取和修改图片的exif信息 一幅图片除了包含我们能看见的像素信息,背后还包含了拍摄时间,光圈大小,曝光等信息.UIImage类将这些细节信息都隐藏了起来,只提供我们关心的图片尺寸, ...
- C# 获取图片的EXIF 信息
关于 EXIF 信息的介绍. 1 EXIF,是英文Exchangeable Image File(可交换图像文件)的缩写.EXIF是一种图像文件格式,只是文件的后缀名为jpg.EXIF信息是由数码相 ...
- 在Android下通过ExifInterface类操作图片的Exif信息
什么是Exif 先来了解什么是Exif.Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了 数码照片的信息,包括拍摄的光圈.快门.平衡白.I ...
- 用C#读取图片的EXIF信息的方法
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Dr ...
- 使用Java程序读取JPG Tif等格式图片的exif信息
package com.util; import java.io.File;import java.util.Iterator; import com.drew.imaging.ImageProces ...
- 利用php获取图片完整Exif信息类 获取图片详细完整信息类
<?php /** * @Author: TonyLevid * @Copyright: TonyLevid.com * @Name: Image Exif Class * @Version: ...
- 获取图片的EXIF信息
对于专业的摄影师来说,Exif信息是很重要的信息,也包含了非常多的东西 1.EXIF EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照 ...
- 以最省内存的方式把大图片加载到内存及获取Exif信息和获取屏幕高度和宽度的新方法
我们在加载图片时经常会遇到内存溢出的问题,图片太大,我们加载图片时,一般都是用的如下一般方法(加载本地图片): /** * 不作处理,去加载图片的方法,碰到比较大的图片会内存溢出 */ private ...
- 七牛--关于图片上传方向不统一的问题--主要关于图片EXIF信息中旋转参数Orientation的理解
[图片引用方向纠正]直接在图片后面添加 ?imageMogr/auto-orient eg:http://data.upfitapp.com/data/2016/10/18/1629114767606 ...
- 图片Exif 信息中Orientation的理解和对此的处理
这个问题是在用七牛上传图片后获取宽高时发现的,一张图片,用图片浏览器打开始终是竖图,但是查看属性或者用七牛获取宽高,却发现宽大于高,也就是在属性中这是个横图.这样导致客户端用该宽高来展示图片会出现问题 ...
随机推荐
- 实战!oracle 11g一键安装脚本分享
分享一个常用的数据库一键安装脚本,大家可以从我的网盘进行下载 链接: https://pan.baidu.com/s/1iV-0zeXrwhJxJcm9qA_P_g 提取码: apbc 脚本内容: # ...
- Web渗透08_文件上传
1 文件上传漏洞概述 文件上传几乎是每一个web,或者说是任何 服务器客户端模式 应用的必备功能,用户在自己的文章,博文中要上相关图片.用户上传自己的头像.网盘用户上传各种文件.等等.若服务器对此没有 ...
- C语言模拟算法
文章目录 1.数据结构 1.1基于数组 1.2 基于字符串 1.3基于链表 1.4基于矩阵 2.算法技巧 2.1.排序 2.2.递归 2.3.迭代 3.实战 3.1 力扣面试题16.01 交换数字 3 ...
- CerberusDet:不同任务共享不同的部分,新多任务目标检测方案
传统的目标检测模型通常受到其训练数据和定义的类别逻辑的限制.随着语言-视觉模型的近期兴起,出现了不受这些固定类别限制的新方法.尽管这些开放词汇检测模型具有灵活性,但与传统的固定类别模型相比,仍然在准确 ...
- Python获取jenkins job信息
pip install Python-jenkins 如果只是想获取到jenkins的全局变量(比如job url),使用jenkins全局变量就能做到. https://www.jb51.net/ ...
- NOIP2015 提高组 子串
NOIP2015 提高组 子串 感觉是最长公共子序列模型的变式. 容易想到记 \(f[i][j][k]\) 表示 \(A\) 走到了第 \(i\) 位,\(B\) 匹配上了 \(1 \sim j\), ...
- 题解:CF559B Equivalent Strings
CF559B Equivalent Strings 题解 题目描述 吐槽一下,题目翻译有歧义. 思路分析 你会发现,当你需要判断字符串 \(a,b\) 是否等价时,如果长度为偶数,需要继续判断字符串 ...
- J2eefast页面调试状态下自动进入debugger断点
将fastJS.min.js 替换为 fastJs.js 将所使用到的模块的min.js 替换为js文件
- 成本立降50%!在EKS上借助Karpenter部署大模型
原文链接: https://aws.amazon.com/cn/blogs/containers/scaling-a-large-language-model-with-nvidia-nim-on-a ...
- BeanStalkd 做队列服务
今天无意间看到这个仓库讲php关于 BeanStalkd 的扩展,然后就去了解了一下beanstalkd,才知道它可以用来做队列服务. 话不多说,安装一下试试. 首先 sudo apt search ...