ai-content-maker/.venv/Lib/site-packages/moviepy/video/fx/blackwhite.py

23 lines
678 B
Python
Raw Permalink Normal View History

2024-05-11 23:00:43 +03:00
import numpy as np
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 fl(im):
im = (R*im[:,:,0] + G*im[:,:,1] + B*im[:,:,2])
return np.dstack(3*[im]).astype('uint8')
return clip.fl_image(fl)