Add structure to shape detection for colorlight and exposure

This commit is contained in:
Desmis
2019-01-13 14:49:11 +01:00
parent 905a143d03
commit c71d70f0ea
14 changed files with 301 additions and 734 deletions

View File

@@ -32,6 +32,7 @@
#include <iostream>
#include <fstream>
#include <string>
#include "jaggedarray.h"
#undef THREAD_PRIORITY_NORMAL
@@ -1091,6 +1092,7 @@ private:
// int maxspot = 1;
float** shbuffer = nullptr;
JaggedArray<float> blend(fw, fh);
for (int sp = 0; sp < params.locallab.nbspot && sp < (int)params.locallab.spots.size(); sp++) {
if (params.locallab.spots.at(sp).inverssha) {
@@ -1133,15 +1135,15 @@ private:
double huere, chromare, lumare, huerefblu, sobelre;
if (params.locallab.spots.at(sp).spotMethod == "exc") {
ipf.calc_ref(sp, reservView, reservView, 0, 0, fw, fh, 1, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
ipf.calc_ref(sp, reservView, reservView, blend, 0, 0, fw, fh, 1, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
} else {
ipf.calc_ref(sp, labView, labView, 0, 0, fw, fh, 1, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
ipf.calc_ref(sp, labView, labView, blend, 0, 0, fw, fh, 1, huerefblu, huere, chromare, lumare, sobelre, lhist16loc);
}
CurveFactory::complexCurvelocal(ecomp, black / 65535., hlcompr, hlcomprthresh, shcompr, br, cont, lhist16loc,
hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc,
1);
ipf.Lab_Local(2, sp, sobelrefs, (float**)shbuffer, labView, labView, reservView, 0, 0, fw, fh, 1, locRETgainCurve, lllocalcurve, loclhCurve, lochhCurve, locccmasCurve, locllmasCurve, lochhmasCurve, locccmasexpCurve, locllmasexpCurve,
ipf.Lab_Local(2, sp, (float**)shbuffer, labView, labView, reservView, 0, 0, fw, fh, 1, locRETgainCurve, lllocalcurve, loclhCurve, lochhCurve, locccmasCurve, locllmasCurve, lochhmasCurve, locccmasexpCurve, locllmasexpCurve,
LHutili, HHutili, cclocalcurve, localskutili, sklocalcurve, localexutili, exlocalcurve, hltonecurveloc, shtonecurveloc, tonecurveloc, lightCurveloc, huerefblu, huere, chromare, lumare, sobelre);
// Clear local curves