1. 程式人生 > >一種計算影象曝光度(Exposure)的方法

一種計算影象曝光度(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調節曝光度結果圖,右圖為上述計算方法結果圖: