在openCv中计算自动曝光



我有一个软件与手动镜头的工业级相机(手动设置对焦和光圈)一起工作。

我可以控制相机的曝光时间和增益。我做了一些直方图分析来检查图像的曝光。不,我正在寻找一种方法来转移灰度强度的平均值到曝光值。目标是计算固定光圈设置和当前照明条件下的曝光时间,因为曝光值是Ev = Av + Tv (Av光圈值或f档,Tv时间值,曝光时间)。我希望有一些从灰度强度到曝光值的转换。

我想告诉你我的解决方案。

我所发现的是,普通的相机或无法测量亮度。一般来说,图像传感器不能区分明亮的颜色,如白色和亮度。

无论如何,我实现了一个测量灰度强度的直方图。然后提取平均值并缩放到256的值范围。目标是平均值为128。

所以我使用测量的直方图平均值作为控制曝光时间的PI控制器的输入。

这样我就在直方图平均值和曝光时间之间建立了一个链接

我认为你可能想要考虑直方图提供所需的动态范围。安塞尔·亚当斯(Ansel Adams)和其他人有时将其称为区域。所以你的18%是区域V(5)。如果你的图像的动态范围是剪切高值(255)或剪切最小值(0),那么你可能需要2张或更多的图像…一张在高f#下使用较少的Ev或较少的曝光来取消剪辑("吹出"认为是照片术语),另一张使用更多的曝光以确保阴影细节不会丢失("阻挡"在照片术语中)。

如果你有一个在1-255范围内的图像,那么你可以重新缩放图像,使其平均值为18%。或有一些校准光读数曝光或Ev。

一般来说,你需要直方图来计算平均值(EV或峰值因子),以及找到最小/最大值的方法,以确定你需要更多的曝光/增益还是更少。

当然,如果你的图片在亮度方面是平坦的,那么。128是完美的。如果有一些明亮的光源,通常是一个"正常场景",那么接近18%的平均值在统计学上更好(~46)

相关内容

  • 没有找到相关文章

最新更新