本文主要是介绍一种计算图像曝光度(Exposure)的方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前几天在做图像曝光度(Exposure)这个小功能时,找了半天资料都没找到,后来在stackoverflow上翻到了计算方法,方法很简单,实际测试时,发现和photoshop效果还挺接近的。下面是基于opencv的相关代码示例,strength范围可以设置为-2.0到2.0:
// strength范围[-2.0, 2.0]
int row = inputImg.rows;
int step = inputImg.step;
uchar* pInputImg = inputImg.data;
uchar* pOutputImg = outputImg.data;
for (int i = 0; i < row * step; i++)
{pOutputImg[i] = (uchar)min_uchar(255, max_uchar(0, pInputImg[i] * pow(2, strength)));
}
下面是效果图,左侧为原图,中间为photoshop调节曝光度结果图,右图为上述计算方法结果图:
这篇关于一种计算图像曝光度(Exposure)的方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!