BrushCue Example: Film Noir¶
You can use this tool online at https://www.brushcue.com/tools/film-noir
In [ ]:
!pip install brushcue
In [1]:
import brushcue
from PIL import Image
import io
input_image_1 = brushcue.composition_monet_women_with_parasol() # insert your own image here
composition_bounds_2 = brushcue.composition_bounds(input_image_1)
curve_pivoted_sigmoid_3 = brushcue.curve_pivoted_sigmoid(0.5, 3.2)
composition_bounds_4 = brushcue.composition_bounds(input_image_1)
composition_bounds_5 = brushcue.composition_bounds(input_image_1)
composition_film_grain_6 = brushcue.composition_film_grain(input_image_1, 1.51, 150.0, 0.5, 51.0, 0.3, 300.0, 0.2)
composition_bounds_7 = brushcue.composition_bounds(input_image_1)
composition_bounds_8 = brushcue.composition_bounds(input_image_1)
bounds2f_width_9 = brushcue.bounds2f_width(composition_bounds_4)
bounds2f_height_10 = brushcue.bounds2f_height(composition_bounds_5)
composition_gaussian_blur_11 = brushcue.composition_gaussian_blur(composition_film_grain_6, 2.0)
bounds2f_width_12 = brushcue.bounds2f_width(composition_bounds_7)
bounds2f_height_13 = brushcue.bounds2f_height(composition_bounds_8)
float_divide_14 = brushcue.float_divide(bounds2f_width_9, 2.0)
float_divide_15 = brushcue.float_divide(bounds2f_height_10, 2.0)
composition_grayscale_16 = brushcue.composition_grayscale(composition_gaussian_blur_11)
float_divide_17 = brushcue.float_divide(bounds2f_width_12, 2.0)
float_divide_18 = brushcue.float_divide(bounds2f_height_13, 2.0)
composition_lightness_curve_19 = brushcue.composition_l_curve(composition_grayscale_16, curve_pivoted_sigmoid_3)
vector_2_float_from_components_20 = brushcue.vector2f_from_components(float_divide_17, float_divide_18)
composition_vignette_21 = brushcue.composition_vignette(composition_lightness_curve_19, vector_2_float_from_components_20, float_divide_14, float_divide_15, 454.0, 0.32999998)
composition_crop_22 = brushcue.composition_crop(composition_vignette_21, composition_bounds_2)
ctx = brushcue.Context()
result = composition_crop_22.execute(ctx)
composition = result.as_composition()
data_bytes = composition.to_image_bytes(ctx)
img = Image.open(io.BytesIO(data_bytes))
img.thumbnail((400, 400)) # remove this line for full resolution
img
Out[1]: