【问题标题】:GPhoto2 - get focal length and sensor size directly from the cameraGPhoto2 - 直接从相机获取焦距和传感器尺寸
【发布时间】:2020-04-11 21:28:46
【问题描述】:

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

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

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

【问题讨论】:

    标签: python-3.x libgphoto2


    【解决方案1】:

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

    我可以建议的唯一解决方案是拍照,从相机中复制它(或者甚至只是复制前几 KB),然后从照片的 Exif 数据中获取您想要的信息。

    【讨论】:

    • 我们查看了 exif,不幸的是它没有此信息,这就是我尝试使用 gphoto 获取它的原因。
    • 我已经打印了整个配置,但这个信息不存在 - 这意味着它不存在,对吧?
    • 是的,如果它不在配置中,那么它就不存在。我很惊讶它不在照片的 Exif 中,但这也取决于相机。我的佳能单反肯定有焦距和传感器分辨率。
    • 是的,传感器分辨率,但不是物理传感器尺寸
    • 很遗憾,但感谢您的快速回复。
    【解决方案2】:

    你也许是这个意思?

    $ 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.. 解析此字符串以获取分辨率。

    【讨论】:

      猜你喜欢
      • 2012-05-04
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 2012-06-02
      • 1970-01-01
      • 2015-07-15
      • 2012-11-07
      • 1970-01-01
      相关资源
      最近更新 更多