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. 云原生周刊:Flux 2.3 发布 | 2024.5.20

    开源项目推荐 kubeinvaders kubeinvaders 专为 Kubernetes 用户设计.它提供了一种有趣而交互式的方式来探索和可视化您的 Kubernetes 集群.通过类似游戏的界面 ...

  2. 在华为云上安装高可用 KubeSphere

    随着多云多集群的场景越来越丰富,在各个云厂商环境部署 KubeSphere 的需求随之升高.由于各云厂商的云资源使用规则和菜单导航栏各不相同,会使用户花大量时间去排错.为降低部署过程错误率,本教程使用 ...

  3. 全局负载均衡、CDN内容分发的原理与实践

    CDN简介 CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发. ...

  4. 五分钟掌握Python中配置文件解析器configparser的使用

    ---  好的方法很多,我们先掌握一种  --- [背景] 这里描述的配置文件为自动化用例中使用到的信息,非pytest自动化框架中例如pytest.ini, conftest.py等具有特殊意义的配 ...

  5. SparkSQL练习:对学生选课成绩进行分析计算

    题目内容: 对学生选课成绩进行分析计算 题目要求: (1)该系总共有多少学生: (2)该系共开设来多少门课程: (3)每个学生的总成绩多少: (4)每门课程选修的同学人数: (5)每位同学选修的课程门 ...

  6. CSP-S 2024 简单题

    CSP-S 2024 简单题 以下均为考场做法. T1 决斗 (duel) 考虑贪心,按照攻击力 \(a_i\) 排序,从小到大使用所有怪物进行攻击,每只怪物攻击一个在场且能击杀的怪物中,攻击力最大的 ...

  7. Linux环境下非GUI制作图形界面方法

    Linux环境下非GUI制作图形界面方法 如题,即就是仅仅使用ANSI转义字符实现Linux环境的页面效果,如字体颜色.背景颜色.高亮.固定位置光标.将光标放到指定位置.隐藏字符串等等. 具体实现方法 ...

  8. 循环中拼接String不同方法性能耗时对比

    对比背景 Java中最常用的拼接字符串方法就是 + 或 +=,使用上简单方便.但如果拼接数量比较大,例如在循环中拼接字符串,可能会有性能问题: 测试数据 循环100000次进行String拼接,对比+ ...

  9. 题解:CF687C The Values You Can Make

    CF687C The Values You Can Make 题解 题目翻译感觉不明不白的(至少我看了几遍没看懂),这里给个较为清晰的题面. 题目描述 给你 \(n\) 个硬币,第 \(i\) 个硬币 ...

  10. VS项目无法加载js或其他文件

    1.查看文件位置项目是否加载进去 2.将文件显示,再次找到该目录将文件添加到项目中 3.启动调试,