Add simplified Excluding Spot - fixed some bugs

This commit is contained in:
Desmis
2017-11-10 08:47:11 +01:00
parent 0a65cb40c4
commit 4b2563af62
18 changed files with 1104 additions and 122 deletions

View File

@@ -911,6 +911,7 @@ private:
}
labView = new LabImage (fw, fh);
reservView = new LabImage (fw, fh);
if (params.blackwhite.enabled) {
CurveFactory::curveBW (params.blackwhite.beforeCurve, params.blackwhite.afterCurve, hist16, dummy, customToneCurvebw1, customToneCurvebw2, 1);
@@ -1025,6 +1026,7 @@ private:
bool locutili = false;
// bool locallutili = false;
// bool localcutili = false;
reservView->CopyFrom (labView);
if (params.locallab.enabled) {
MyTime t1, t2;
@@ -1102,7 +1104,7 @@ private:
}
ifstream fich (datalab, ios::in);
int maxdata = 82;//78;//73 10011
int maxdata = 85; //82;//78;//73 10011
if (fich && versionmip != 0) {
std::string inser;
@@ -1327,6 +1329,16 @@ private:
dataspots[77][0] = 2;
}
if (params.locallab.Exclumethod == "norm") {
dataspots[78][0] = 0;
} else if (params.locallab.Exclumethod == "exc") {
dataspots[78][0] = 1;
}
dataspots[79][0] = params.locallab.sensiexclu;
dataspots[80][0] = params.locallab.struc;
dataspots[maxdata - 4][0] = 100.f * params.locallab.hueref;
dataspots[maxdata - 3][0] = params.locallab.chromaref;
dataspots[maxdata - 2][0] = params.locallab.lumaref;
@@ -1785,6 +1797,16 @@ private:
params.locallab.dustMethod = "pas" ;
}
if (dataspots[78][sp] == 0) {
params.locallab.Exclumethod = "norm" ;
} else if (dataspots[78][sp] == 1) {
params.locallab.Exclumethod = "exc" ;
}
params.locallab.sensiexclu = dataspots[79][sp];
params.locallab.struc = dataspots[80][sp];
params.locallab.hueref = ((float) dataspots[maxdata - 4][sp]) / 100.f;
params.locallab.chromaref = dataspots[maxdata - 3][sp];
params.locallab.lumaref = dataspots[maxdata - 2][sp];
@@ -1974,7 +1996,7 @@ private:
params.locallab.lumaref = lumare;
params.locallab.sobelref = sobelre;
ipf.Lab_Local (params.locallab, 2, sp, (float**)shbuffer, labView, labView, 0, 0, 0, 0, fw, fh, fw, fh, locutili, 1, locRETgainCurve, locallutili, lllocalcurve, loclhCurve, lochhCurve,
ipf.Lab_Local (params.locallab, 2, sp, (float**)shbuffer, labView, labView, reservView, 0, 0, 0, 0, fw, fh, fw, fh, locutili, 1, locRETgainCurve, locallutili, lllocalcurve, loclhCurve, lochhCurve,
LHutili, HHutili, cclocalcurve, localskutili, sklocalcurve, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, params.locallab.hueref, params.locallab.chromaref, params.locallab.lumaref, params.locallab.sobelref);
lllocalcurve.clear();
cclocalcurve.clear();
@@ -2021,6 +2043,9 @@ private:
}
}
delete reservView;
reservView = nullptr;
ipf.chromiLuminanceCurve (nullptr, 1, labView, labView, curve1, curve2, satcurve, lhskcurve, clcurve, lumacurve, utili, autili, butili, ccutili, cclutili, clcutili, dummy, dummy);
@@ -2278,6 +2303,8 @@ private:
delete labView;
labView = nullptr;
// delete reservView;
// reservView = nullptr;
if (bwonly) { //force BW r=g=b
@@ -2551,6 +2578,7 @@ private:
ColorTemp currWB;
Imagefloat *baseImg;
LabImage* labView;
LabImage* reservView;
LUTu hist16;