Source code for moviepy.video.fx.blackwhite

import numpy as np


[docs]def blackwhite(clip, RGB=None, preserve_luminosity=True): """Desaturates the picture, makes it black and white. Parameter RGB allows to set weights for the different color channels. If RBG is 'CRT_phosphor' a special set of values is used. preserve_luminosity maintains the sum of RGB to 1. """ if RGB is None: RGB = [1, 1, 1] if RGB == "CRT_phosphor": RGB = [0.2125, 0.7154, 0.0721] R, G, B = 1.0 * np.array(RGB) / (sum(RGB) if preserve_luminosity else 1) def filter(im): im = R * im[:, :, 0] + G * im[:, :, 1] + B * im[:, :, 2] return np.dstack(3 * [im]).astype("uint8") return clip.image_transform(filter)