大家好,
1。我拍摄了设置 ISO-Auto 的图像(暗示 ISO 将根据照明环境设置)。
2. 我们在图像文件的属性中有亮度值。
问题是,我需要在我的算法中使用一些固定的阈值来提取对象。显然,要使固定阈值起作用,环境应该是统一的。因此,以不同的 ISO 值拍摄的图像不可能最适合我的算法。
我需要制作图像(以不同的 ISO 拍摄)以最适合我的算法。
示例:我们知道 ISO-200 比 ISO-100 亮两倍。
但是要抵消 ISO-200 产生的额外亮度,在应用阈值之前我应该对图像进行哪些操作? (我只有在不同 ISO 下拍摄的图像。我不能要求调整光圈或快门速度参数来抵消 ISO-200 与 ISO-100 相比产生的变化。(我必须完全使用我的代码来抵消变化)
Screenshot Of Image properties window, Brightness value highlighted
图像属性窗口显示亮度值。
相机软件如何计算这个值? (我正在使用 SM-T810 Tab 前置摄像头来完成这项任务)。
我已经在谷歌上搜索了解决方案。 http://johnlind.tripod.com/science/scienceexposure.html
这个链接很好地解释了亮度值(Bv)。但是公式应用程序没有产生属性中显示的亮度值。
这个链接是亮度值计算的解决方案吗?
请帮我找到解决这个问题的方法。
提前致谢。
最佳答案
你想达到什么目的?
如果你拍摄一张 ISO-100 的图像和另一张 ISO-200 的图像,那么来自维基百科
https://en.wikipedia.org/wiki/APEX_system#Use_of_APEX_values_in_Exif
亮度值为
B(...) = log_2 ( A^2/( T S N ) )
,
其中A
、T
、S
、N
分别是光圈值、快门速度、ASA速度和分别缩放常数。
仅作为 ASA 速度的函数
B( S ) = 常量 - log_2( S )
,
所以一个场景用
B( 200 ) = 常量 - log_2( 2 * 100 ) = B(100) - 1
亮度降低一站。换句话说,如果亮度下降一档,那么为了补偿,您必须将 ASA 速度或快门速度加倍(或将光圈打开 1.4)。
Photoshop 将此调整作为“曝光”供您使用。
但这只有在场景光照不变的情况下才有意义。否则,您只是在提取亮点本身,而不是对象。
关于opencv - ISO调整和亮度公式的代码实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35316838/