Exif 中的亮度是相机拍摄测量的,还是从照片数据中分析得到的?

Exif中的亮度值是相机拍摄测量的,还是从照片数据中分析得到的?如果是计算得到的,使用python该怎样计算出来,懂图形处理的技术解释解释。

img

应该是数码相片成型时,记录了相机的数据, 如果图片被编辑了, Exif有可能被修改。 Exif不一定可靠,供参考的。

读Exif 的库多, 改写就少见了。

img

您可以使用_getexif()受保护的 PIL 图像方法。

import PIL.Image
img = PIL.Image.open('img.jpg')
exif_data = img._getexif()

下面的代码获取Exif细节

import PIL.ExifTags
exif = {
    PIL.ExifTags.TAGS[k]: v
    for k, v in img._getexif().items()
    if k in PIL.ExifTags.TAGS
}

并不是所有图像都有Exif数据,
第二种方法
你可以用读取 EXIF 的 python 库:
https://pypi.org/project/ExifRead/
然后你仍然可以使用 matplotlib 来加载 RGB 数据。

题主截图中的亮度(Bv),是相机测光系统在拍摄前探测到的拍摄对象的亮度。Bv的作用是用来计算曝光量(Ev)的,还要依赖感光度、光圈、快门、曝光补偿等参数。如果题主要反推Bv,只要知道其他参数,是可以做到的。详情可参考摄影理论。

相机传感器在拍照时,会根据光圈大小、快门速度和ISO感光度综合计算出拍摄图像的亮度,并不是后期根据图像计算得到的。所以,你想要的如何计算得到的,就得需要了解传感器的感光原理,而要只是使用的话,利用python等工具,就可以读取得到。

参考一些摄影知识:
http://www.360doc.com/content/19/0309/08/7443026_820228377.shtml

Exif 是数码相机拍照时记录相机型号、镜头、焦距、快门速度、光圈和ISO等照片信息,这是数码相机的设备属性决定的,不是后期计算的指标。

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《【图像取证篇】图像的Exif信息及相关术语》, 一起来围观吧 https://blog.csdn.net/NDASH/article/details/115977537?utm_source=app&app_version=5.2.1&code=app_1562916241&uLinkId=usr1mkqgl919blen