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信息计算相机焦距的更多相关文章

  1. IOS: 使用imageIO获取和修改图片的exif信息

    使用imageIO获取和修改图片的exif信息 一幅图片除了包含我们能看见的像素信息,背后还包含了拍摄时间,光圈大小,曝光等信息.UIImage类将这些细节信息都隐藏了起来,只提供我们关心的图片尺寸, ...

  2. C# 获取图片的EXIF 信息

    关于 EXIF 信息的介绍. 1  EXIF,是英文Exchangeable Image File(可交换图像文件)的缩写.EXIF是一种图像文件格式,只是文件的后缀名为jpg.EXIF信息是由数码相 ...

  3. 在Android下通过ExifInterface类操作图片的Exif信息

    什么是Exif 先来了解什么是Exif.Exif是一种图像文件格式,它的数据存储于JPEG格式是完全相同的,实际上Exif格式就是JPEG格式头插入了 数码照片的信息,包括拍摄的光圈.快门.平衡白.I ...

  4. 用C#读取图片的EXIF信息的方法

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Dr ...

  5. 使用Java程序读取JPG Tif等格式图片的exif信息

    package com.util; import java.io.File;import java.util.Iterator; import com.drew.imaging.ImageProces ...

  6. 利用php获取图片完整Exif信息类 获取图片详细完整信息类

    <?php /** * @Author: TonyLevid * @Copyright: TonyLevid.com * @Name: Image Exif Class * @Version: ...

  7. 获取图片的EXIF信息

    对于专业的摄影师来说,Exif信息是很重要的信息,也包含了非常多的东西 1.EXIF EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照 ...

  8. 以最省内存的方式把大图片加载到内存及获取Exif信息和获取屏幕高度和宽度的新方法

    我们在加载图片时经常会遇到内存溢出的问题,图片太大,我们加载图片时,一般都是用的如下一般方法(加载本地图片): /** * 不作处理,去加载图片的方法,碰到比较大的图片会内存溢出 */ private ...

  9. 七牛--关于图片上传方向不统一的问题--主要关于图片EXIF信息中旋转参数Orientation的理解

    [图片引用方向纠正]直接在图片后面添加 ?imageMogr/auto-orient eg:http://data.upfitapp.com/data/2016/10/18/1629114767606 ...

  10. 图片Exif 信息中Orientation的理解和对此的处理

    这个问题是在用七牛上传图片后获取宽高时发现的,一张图片,用图片浏览器打开始终是竖图,但是查看属性或者用七牛获取宽高,却发现宽大于高,也就是在属性中这是个横图.这样导致客户端用该宽高来展示图片会出现问题 ...

随机推荐

  1. 实战!oracle 11g一键安装脚本分享

    分享一个常用的数据库一键安装脚本,大家可以从我的网盘进行下载 链接: https://pan.baidu.com/s/1iV-0zeXrwhJxJcm9qA_P_g 提取码: apbc 脚本内容: # ...

  2. Web渗透08_文件上传

    1 文件上传漏洞概述 文件上传几乎是每一个web,或者说是任何 服务器客户端模式 应用的必备功能,用户在自己的文章,博文中要上相关图片.用户上传自己的头像.网盘用户上传各种文件.等等.若服务器对此没有 ...

  3. C语言模拟算法

    文章目录 1.数据结构 1.1基于数组 1.2 基于字符串 1.3基于链表 1.4基于矩阵 2.算法技巧 2.1.排序 2.2.递归 2.3.迭代 3.实战 3.1 力扣面试题16.01 交换数字 3 ...

  4. CerberusDet:不同任务共享不同的部分,新多任务目标检测方案

    传统的目标检测模型通常受到其训练数据和定义的类别逻辑的限制.随着语言-视觉模型的近期兴起,出现了不受这些固定类别限制的新方法.尽管这些开放词汇检测模型具有灵活性,但与传统的固定类别模型相比,仍然在准确 ...

  5. Python获取jenkins job信息

    pip install Python-jenkins  如果只是想获取到jenkins的全局变量(比如job url),使用jenkins全局变量就能做到. https://www.jb51.net/ ...

  6. NOIP2015 提高组 子串

    NOIP2015 提高组 子串 感觉是最长公共子序列模型的变式. 容易想到记 \(f[i][j][k]\) 表示 \(A\) 走到了第 \(i\) 位,\(B\) 匹配上了 \(1 \sim j\), ...

  7. 题解:CF559B Equivalent Strings

    CF559B Equivalent Strings 题解 题目描述 吐槽一下,题目翻译有歧义. 思路分析 你会发现,当你需要判断字符串 \(a,b\) 是否等价时,如果长度为偶数,需要继续判断字符串 ...

  8. J2eefast页面调试状态下自动进入debugger断点

    将fastJS.min.js 替换为 fastJs.js 将所使用到的模块的min.js 替换为js文件

  9. 成本立降50%!在EKS上借助Karpenter部署大模型

    原文链接: https://aws.amazon.com/cn/blogs/containers/scaling-a-large-language-model-with-nvidia-nim-on-a ...

  10. BeanStalkd 做队列服务

    今天无意间看到这个仓库讲php关于 BeanStalkd 的扩展,然后就去了解了一下beanstalkd,才知道它可以用来做队列服务. 话不多说,安装一下试试. 首先 sudo apt search ...