MCPcopy Create free account
hub / github.com/NatronGitHub/openfx-misc / key_bg

Method key_bg

Keyer/Keyer.cpp:318–335  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

316 }
317
318 double key_bg(double Kfg)
319 {
320 if ( ( (_center + _toleranceLower) <= 0. ) && (Kfg <= 0.) ) { // special case: everything below 0 is 1. if center-toleranceLower<=0
321 return 1.;
322 } else if ( Kfg < (_center + _toleranceLower + _softnessLower) ) {
323 return 0.;
324 } else if ( ( Kfg < (_center + _toleranceLower) ) && (_softnessLower < 0.) ) {
325 return ( Kfg - (_center + _toleranceLower + _softnessLower) ) / -_softnessLower;
326 } else if (Kfg <= _center + _toleranceUpper) {
327 return 1.;
328 } else if ( ( 1. <= (_center + _toleranceUpper) ) && (1. <= Kfg) ) { // special case: everything above 1 is 1. if center+toleranceUpper>=1
329 return 1.;
330 } else if ( ( Kfg < (_center + _toleranceUpper + _softnessUpper) ) && (_softnessUpper > 0.) ) {
331 return ( (_center + _toleranceUpper + _softnessUpper) - Kfg ) / _softnessUpper;
332 } else {
333 return 0.;
334 }
335 }
336
337protected:
338 double rgb2luminance(double r,

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected