Curve H=f(H) L=f(H) in Lab mode - issue 2096

This commit is contained in:
jdc
2013-12-14 20:04:56 +01:00
parent 74f0ab594c
commit b350878528
79 changed files with 422 additions and 117 deletions

View File

@@ -118,8 +118,7 @@ float chromave=0.0f;
float HH=xatan2f(src->b[i][j],src->a[i][j]);
#endif
double hr;
Color::huelab_to_huehsv (HH, hr);
float chparam = float((chCurve->getVal(hr)-0.5f) * 2.0f);//get C=f(H)
float chparam = float((chCurve->getVal((hr=Color::huelab_to_huehsv2(HH)))-0.5f) * 2.0f);//get C=f(H)
if(chparam > 0.f) chparam /=2.f; // reduced action if chparam > 0
chromaChfactor=1.0f+chparam;
}
@@ -398,8 +397,7 @@ if( chCurve ) {
float HH=xatan2f(srbb[i][j],sraa[i][j]);
#endif
double hr;
Color::huelab_to_huehsv (HH, hr); //approximation Cam / Lab
float chparam = float((chCurve->getVal(hr)-0.5f) * 2.0f);//get C=f(H)
float chparam = float((chCurve->getVal((hr=Color::huelab_to_huehsv2(HH)))-0.5f) * 2.0f);//get C=f(H)
if(chparam > 0.f) chparam /=2.f; // reduced action if chparam > 0
chromaChfactor=1.0f+chparam;
}