Changes to Exposure tab. Exposure controls (blackpoint, brightness, contrast, S/H compression) are now implemented with NURBS curves. Brightness bug seems fixed as a consequence. Luminance tone curve has been expanded to separate curves for L,a,b; saturation slider has been added, but at the moment saturation limiting has not been implemented in the modified tool.

This commit is contained in:
Emil Martinec
2010-10-17 14:55:40 -05:00
parent 4de32da4c0
commit 9d31c6ad19
27 changed files with 517 additions and 88 deletions

View File

@@ -344,11 +344,27 @@ void ImProcFunctions::rgbProc (Image16* working, LabImage* lab, int* tonecurve,
void ImProcFunctions::luminanceCurve (LabImage* lold, LabImage* lnew, int* curve, int row_from, int row_to) {
int W = lold->W;
int H = lold->H;
//int H = lold->H;
for (int i=row_from; i<row_to; i++)
for (int j=0; j<W; j++)
lnew->L[i][j] = curve[lold->L[i][j]];
}
void ImProcFunctions::chrominanceCurve (LabImage* lold, LabImage* lnew, int channel, int* curve, int row_from, int row_to) {
int W = lold->W;
//int H = lold->H;
if (channel==0) {
for (int i=row_from; i<row_to; i++)
for (int j=0; j<W; j++)
lnew->a[i][j] = curve[lold->a[i][j]+32768]-32768;
}
if (channel==1) {
for (int i=row_from; i<row_to; i++)
for (int j=0; j<W; j++)
lnew->b[i][j] = curve[lold->b[i][j]+32768]-32768;
}
}
#include "cubic.cc"