JPEG-从文件读取焦距

JPEG - reading focal length from file

本文关键字:读取 文件 JPEG-      更新时间:2023-10-16

在研究新相机时,我认为对我过去在照片中使用的最常见设置进行概述会很有趣。我主要感兴趣的是检索照片中使用的焦距。尽管光圈/iso/shutterspeed也很受欢迎。

不过,在过去的10年里,我使用了不同的相机,我也需要将其转换为35毫米的等效格式进行比较。我知道这是传感器尺寸的函数,特别是传感器裁剪因子乘以焦距。

四处搜寻,我没能找到jpeg文件格式的标题。我知道你可以在一个名为wotsit.org的网站上找到大多数,但很明显我无法从那里下载任何东西。我对jpeg文件几乎一无所知,但我很确定它们使用exif格式来保存我正在寻找的图像元数据。

http://www.exif.org/Exif2-1.PDF,第49页,显示焦距存储为有理*数。但是我很难掌握结构并将其应用到代码中。此外,为了计算等效的35mm比例,我必须知道相机的传感器尺寸,而我在文档中找不到。

有人能告诉我jpeg/exif文件的实际结构吗?我将在这个项目中使用C++。我知道这一定是可能的,窗口显示35mm设备。我的照片。

*这似乎是两个ulong,代表一个分数,当除以它时,给出焦距?

TL;DR:如何从jpeg文件中提取焦距和传感器大小,以计算35mm等效焦距?

谢谢!

除非你的目的是学习如何阅读这些图像,否则我建议使用libexif这样的库。

简短回答:http://www.exiv2.org/