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. 工作使用:Exchange命令集(超级重要)

    工作使用:Exchange命令集(超级重要) 命令1:导出某个用户的邮件                  New-MailboxExportRequest   -mailbox  dusonglin ...

  2. AOT漫谈专题(第五篇): 如何劫持.NET AOT编译器 进行源码级调试

    一:背景 1. 讲故事 上篇聊到了 C#程序编译成Native代码 的宏观过程,有粉丝朋友提了一个问题,能不能在 dotnet publish 发布的过程中对AOT编译器拦截进行源码级调试,这是一个好 ...

  3. linux 基础(1)快速查询指令的用法

    --help 几乎所有的指令,都可以使用--help选项进行查询.给命令使用--help选项,就会直接出现一段说明命令的文字. > date --help 用法:date [选项]... [+格 ...

  4. Selenium操作:测试form表单

    from表单是经常测试的用例,用户登录.注册等都会用到form表单,本文简单设计了一个用户登录的form表单,并对该form表单进行测试 一.自定义form表单 1.用到的组件 如下图,图中定义了一个 ...

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

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

  6. 鸿蒙NEXT开发案例:随机密码生成

    [引言] 本案例将实现一个随机密码生成器.用户可以自定义密码的长度以及包含的字符类型(大写字母.小写字母.数字.特殊字符),最后通过点击按钮生成密码,并提供一键复制功能. [环境准备] •操作系统:W ...

  7. 一个.NET开源、快速、功能丰富的跨平台阅读服务器

    前言 今天大姚给大家分享一个基于.NET开源的快速.功能丰富的跨平台阅读服务器,它的设计初衷是提供一个全面的解决方案,满足用户的所有阅读需求.用户可以设置自己的服务器,并与朋友和家人分享阅读收藏:Ka ...

  8. 读书笔记-C#8.0本质论-02

    10. 接口 10.1 显式与隐式接口实现的比较 10.1.1 隐式接口 namespace ConsoleApp1; internal static class Program { internal ...

  9. k8s之常用命令

    Minikube # 启动集群服务 minikube start # 查看集群服务状态 minikube status# 登录集群minikube ssh # 关闭,暂停,恢复,删除集群服务 mini ...

  10. golang不同版本特性

    Go 1.0[1]  - 2012 年 3 月: 随着 Go 第一个版本发布的还有一份兼容性说明文档[2] .该文档承诺,Go 的未来版本会尽可能确保向后兼容性,不会破坏现有程序. For insta ...