GPhoto2 - 直接从相机获取焦距和传感器尺寸

GPhoto2 - get focal length and sensor size directly from the camera

是否可以使用 GPhoto2 直接从相机获取焦距 and/or 传感器尺寸?

我试图在相机对象和文件信息中寻找它,但无济于事。 我也知道我可以 get/set 一些 参数(速度,光圈等)使用配置。 由于明显的原因,焦距不是其中之一,但我想知道相机是否知道它的当前值。传感器尺寸也一样,当然它是不可配置的,但我假设相机内部会知道它。

为什么我需要这个?我需要知道以像素为单位的焦距,我打算根据焦距、传感器尺寸和图像分辨率来计算它。

相机配置可以包含只读参数,其中可能包括某些相机的焦距。 (整个配置非常依赖相机。)

我能建议的唯一解决办法是拍一张照片,从相机中复制它(或者甚至只复制前几千字节),然后从照片的 Exif 数据中获取您想要的信息。

你是这个意思吗?

$ gphoto2 --get-config focusinfo
Label: Focus Info                                                              
Readonly: 0
Type: TEXT
Current: eosversion=4,size=5184x3456,size2=5184x3456,points={{-1477,0,186,139},{-886,418,186,139},{-886,-418,186,139},{0,787,127,196},{0,0,231,238},{0,-787,127,196},{886,418,186,139},{886,-418,186,139},{1477,0,186,139}},select={},unknown={ff010000ffff}
END

在我的 T3i 上,size 产生传感器分辨率:5184x3456。您可以使用 awk/sed/perl/etc.. 解析此字符串以获得分辨率。