【发布时间】:2012-10-01 04:09:02
【问题描述】:
在研究新相机时,我认为对我过去在照片中使用的最常见设置进行概述会很有趣。我主要对检索图片中使用的焦距感兴趣。虽然光圈/iso/快门速度也很受欢迎。
虽然在过去 10 年中使用过不同的相机,但我也需要将其转换为 35 毫米等效格式以进行比较。我知道这是传感器尺寸的函数,特别是传感器裁剪因子乘以焦距。
四处寻找,我没有找到 jpeg 文件格式的标题。我了解到您可以在名为 wotsit.org 的网站上找到其中的大部分内容,但显然我无法从那里下载任何内容。我对 jpeg 文件几乎一无所知,但我很确定他们使用 exif 格式来保存我正在寻找的图像元数据。
http://www.exif.org/Exif2-1.PDF,第 49 页,显示焦距在某处存储为有理数*。但是我很难掌握结构并将其应用到代码中。此外,要计算等效的 35 毫米比率,我必须知道相机的传感器尺寸,我在该文档中找不到。
有人可以给我提示/指出 jpeg / exif 文件的实际结构的方向吗?我将在这个项目中使用 C++。我知道这一定是可能的,windows 显示 35mm eqv。我的照片。
*这似乎是两个代表分数的ulongs,除以它时,给出焦距?
TL;DR:如何从 jpeg 文件中提取焦距和传感器尺寸以计算 35mm 等效焦距?
谢谢!
【问题讨论】:
-
您真的要为此编写自己的应用程序吗? Exiftool 命令行应用程序将为您提供焦距owl.phy.queensu.ca/~phil/exiftool
-
我不认为从一个文件中检索两个数字会是一项如此艰巨的任务,但看起来确实如此。也许如果 exiftool 接受脚本命令/在 dirs 上工作会使用它,检查一下。
-
应该可以让命令行工具做你想做的事(也许用一点 shell 脚本),如果不是,它也是一个 perl 库,但我怀疑你会需要它。