Source code for moviepy.video.fx.mask_color

import numpy as np


[docs]def mask_color(clip, color=None, thr=0, s=1): """ Returns a new clip with a mask for transparency where the original clip is of the given color. You can also have a "progressive" mask by specifying a non-nul distance threshold thr. In this case, if the distance between a pixel and the given color is d, the transparency will be d**s / (thr**s + d**s) which is 1 when d>>thr and 0 for d<<thr, the stiffness of the effect being parametrized by s """ if color is None: color = [0,0,0] color = np.array(color) def hill(x): if thr: return x**s / (thr**s + x**s) else: return 1.0 * (x != 0) def flim(im): return hill(np.sqrt(((im-color)**2).sum(axis=2))) mask = clip.fl_image(flim) mask.ismask= True newclip = clip.set_mask(mask) return newclip