ISO调整和亮度公式的代码实现

时间:2016-02-10 13:39:57

标签: opencv image-processing camera exif camera-calibration


大家好,1。我拍摄的图像进行ISO-Auto设置(意味着ISO将根据照明环境进行设置)。
2.我们在图像文件的属性中有亮度值。
问题是,我需要使用一些固定的阈值来提取算法中的对象。显然,要使固定阈值起作用,环境应该是统一的。因此,以不同ISO值拍摄的图像对我的算法来说不是最好的。

我需要制作图像(采用不同的ISO)以适合我的算法。
示例:我们知道ISO-200将比ISO-200亮两倍。
但是为了消除ISO-200产生的额外亮度,在应用阈值之前,我应该对图像进行哪些操作? (我只有不同ISO拍摄的图像。我不能要求调整光圈或快门速度参数来使ISO-200与ISO-100相比产生的变化无效。(我必须完全使用我的代码来消除变化)

Screenshot Of Image properties window, Brightness value highlighted
“图像属性”窗口显示亮度值。
如何通过Camera Software计算此值? (Iam使用SM-T810 Tab前置摄像头完成此任务。)我已经用Google搜索了解决方案。 http://johnlind.tripod.com/science/scienceexposure.html
这个链接很好地解释了亮度值(Bv)。但是公式应用程序没有产生属性中显示的亮度vlue。
这个链接是亮度值计算的解决方案吗?

请帮我找到解决这个问题的方法。
Other Properties of camera found in properties of image
提前致谢。

1 个答案:

答案 0 :(得分:0)

你想要达到什么目标?

如果您拍摄的图像为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 ) )

其中ATSN分别是光圈值,快门速度,ASA速度和缩放常数。

仅作为ASA速度的函数

B( S ) = constant - log_2( S )

所以使用

捕获的场景

B( 200 ) = constant - log_2( 2 * 100 ) = B(100) - 1

是一个停止不那么明亮。换句话说,如果亮度下降一站,那么要补偿你必须加倍ASA速度或快门速度(或打开光圈1.4)。

Photoshop将此调整视为“曝光”供您玩。

但是,如果您的场景照明不会改变,那么它才有意义。否则你只是提取hilights本身,而不是对象。