Source code for moviepy.video.fx.LumContrast

from dataclasses import dataclass

from moviepy.Clip import Clip
from moviepy.Effect import Effect


[docs] @dataclass class LumContrast(Effect): """Luminosity-contrast correction of a clip.""" lum: float = 0 contrast: float = 0 contrast_threshold: float = 127
[docs] def apply(self, clip: Clip) -> Clip: """Apply the effect to the clip.""" def image_filter(im): im = 1.0 * im # float conversion corrected = ( im + self.lum + self.contrast * (im - float(self.contrast_threshold)) ) corrected[corrected < 0] = 0 corrected[corrected > 255] = 255 return corrected.astype("uint8") return clip.image_transform(image_filter)