diff --git a/rtengine/dcraw.cc b/rtengine/dcraw.cc index 9a934c85f..e5b732581 100644 --- a/rtengine/dcraw.cc +++ b/rtengine/dcraw.cc @@ -9381,29 +9381,29 @@ t5.set (); double d = tpp->defGain * image[i* ::width+j][1]; if (d>64000) continue; - avg_g += d*d*d*d*d*d; + avg_g += d; gn++; } if (FISRED(filter,i,j)) { double d = tpp->defGain * image[i* ::width+j][0]; if (d>64000) continue; - avg_r += d*d*d*d*d*d; + avg_r += d; rn++; } if (FISBLUE(filter,i,j)) { double d = tpp->defGain * image[i* ::width+j][2]; if (d>64000) continue; - avg_b += d*d*d*d*d*d; + avg_b += d; bn++; } } } - double reds = pow (avg_r/rn, 1.0/6.0) * tpp->camwbRed; - double greens = pow (avg_g/gn, 1.0/6.0) * tpp->camwbGreen; - double blues = pow (avg_b/bn, 1.0/6.0) * tpp->camwbBlue; + double reds = avg_r/rn * tpp->camwbRed; + double greens = avg_g/gn * tpp->camwbGreen; + double blues = avg_b/bn * tpp->camwbBlue; double rm = rgb_cam[0][0]*reds + rgb_cam[0][1]*greens + rgb_cam[0][2]*blues; double gm = rgb_cam[1][0]*reds + rgb_cam[1][1]*greens + rgb_cam[1][2]*blues; diff --git a/rtengine/stdimagesource.cc b/rtengine/stdimagesource.cc index a42a72d26..e1bc98165 100644 --- a/rtengine/stdimagesource.cc +++ b/rtengine/stdimagesource.cc @@ -475,7 +475,8 @@ ColorTemp StdImageSource::getAutoWB () { avg_b += intpow((double)img->b[i][j], p); n++; } - return ColorTemp (pow(avg_r/n, 1.0/p), pow(avg_g/n, 1.0/p), pow(avg_b/n, 1.0/p)); + return ColorTemp (avg_r/n, avg_g/n, avg_b/n); + //return ColorTemp (pow(avg_r/n, 1.0/p), pow(avg_g/n, 1.0/p), pow(avg_b/n, 1.0/p)); } void StdImageSource::transformPixel (int x, int y, int tran, int& tx, int& ty) {