def test_contrast_greater_than_1(): im = util.fill((4, 4), [174, 56, 3]) contrasted_im = css.contrast(im, 2) contrasted_im2 = css.contrast(im, 1) assert list(contrasted_im.getdata()) != list(contrasted_im2.getdata()) assert contrasted_im.size == im.size assert contrasted_im.mode == im.mode
def test_contrast_hsv(): im = util.fill((4, 4), [174, 56, 3]) im2 = im.convert('HSV') contrasted_im = css.contrast(im) contrasted_im2 = css.contrast(im2) contrasted_im2_rgb = contrasted_im2.convert('RGB') assert list(contrasted_im.getdata()) == list(contrasted_im2_rgb.getdata()) assert contrasted_im2.size == im2.size assert contrasted_im2.mode == im2.mode
def brooklyn(im): """Applies Brooklyn filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs1 = util.fill(cb.size, [168, 223, 193, .4]) cm1 = css.blending.overlay(cb, cs1) cs2 = util.fill(cb.size, [196, 183, 200]) cm2 = css.blending.overlay(cb, cs2) gradient_mask = util.radial_gradient_mask(cb.size, length=.7) cr = Image.composite(cm1, cm2, gradient_mask) cr = css.contrast(cr, .9) cr = css.brightness(cr, 1.1) return cr
def rise(im): """Applies Rise filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs1 = util.fill(cb.size, [236, 205, 169, .15]) cm1 = css.blending.multiply(cb, cs1) cs2 = util.fill(cb.size, [50, 30, 7, .4]) cm2 = css.blending.multiply(cb, cs2) gradient_mask1 = util.radial_gradient_mask(cb.size, length=.55) cm = Image.composite(cm1, cm2, gradient_mask1) cs3 = util.fill(cb.size, [232, 197, 152, .8]) cm3 = css.blending.overlay(cm, cs3) gradient_mask2 = util.radial_gradient_mask(cb.size, scale=.9) cm_ = Image.composite(cm3, cm, gradient_mask2) cr = Image.blend(cm, cm_, .6) # opacity cr = css.brightness(cr, 1.05) cr = css.sepia(cr, .2) cr = css.contrast(cr, .9) cr = css.saturate(cr, .9) return cr
def test_contrast(): im = util.fill((4, 4), [174, 56, 3]) contrasted_im = css.contrast(im) assert list(contrasted_im.getdata()) == list(im.getdata()) assert contrasted_im.size == im.size assert contrasted_im.mode == im.mode
def nashville(im): """Applies Nashville filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs1 = util.fill(cb.size, [247, 176, 153]) cm1 = ImageChops.darker(cb, cs1) cm1 = Image.blend(cb, cm1, .56) cs2 = util.fill(cb.size, [0, 70, 150]) cm2 = ImageChops.lighter(cm1, cs2) cr = Image.blend(cm1, cm2, .4) cr = css.sepia(cr, .2) cr = css.contrast(cr, 1.2) cr = css.brightness(cr, 1.05) cr = css.saturate(cr, 1.2) return cr
def mayfair(im): """Applies Mayfair filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') size = cb.size pos = (.4, .4) cs1 = util.fill(size, [255, 255, 255, .8]) cm1 = css.blending.overlay(cb, cs1) cs2 = util.fill(size, [255, 200, 200, .6]) cm2 = css.blending.overlay(cb, cs2) cs3 = util.fill(size, [17, 17, 17]) cm3 = css.blending.overlay(cb, cs3) mask1 = util.radial_gradient_mask(size, scale=.3, center=pos) cs = Image.composite(cm1, cm2, mask1) mask2 = util.radial_gradient_mask(size, length=.3, scale=.6, center=pos) cs = Image.composite(cs, cm3, mask2) cr = Image.blend(cb, cs, .4) # opacity cr = css.contrast(cr, 1.1) cr = css.saturate(cr, 1.1) return cr
def inkwell(im): """Applies Inkwell filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cr = css.sepia(cb, .3) cr = css.contrast(cr, 1.1) cr = css.brightness(cr, 1.1) cr = css.grayscale(cr) return cr
def brannan(im): """Applies Brannan filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.fill(cb.size, [161, 44, 199, .31]) cr = css.blending.lighten(cb, cs) cr = css.sepia(cr, .5) cr = css.contrast(cr, 1.4) return cr
def toaster(im): """Applies Toaster filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.radial_gradient(cb.size, [(128, 78, 15), (59, 0, 59)]) cr = css.blending.screen(cb, cs) cr = css.contrast(cr, 1.5) cr = css.brightness(cr, .9) return cr
def clarendon(im): """Applies Clarendon filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.fill(cb.size, [127, 187, 227, .2]) cr = css.blending.overlay(cb, cs) cr = css.contrast(cr, 1.2) cr = css.saturate(cr, 1.35) return cr
def stinson(im): """Applies Stinson filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.fill(cb.size, [240, 149, 128, .2]) cr = css.blending.soft_light(cb, cs) cr = css.contrast(cr, .75) cr = css.saturate(cr, .85) cr = css.brightness(cr, 1.15) return cr
def earlybird(im): """Applies Earlybird filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.radial_gradient(cb.size, [(208, 186, 142), (54, 3, 9), (29, 2, 16)], [.2, .85, 1]) cr = css.blending.overlay(cb, cs) cr = css.contrast(cr, .9) cr = css.sepia(cr, .2) return cr
def _1977(im): """Applies 1977 filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.fill(cb.size, [243, 106, 188, .3]) cr = css.blending.screen(cb, cs) cr = css.contrast(cr, 1.1) cr = css.brightness(cr, 1.1) cr = css.saturate(cr, 1.3) return cr
def maven(im): """Applies Maven filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.fill(cb.size, [3, 230, 26, .2]) cr = css.blending.hue(cb, cs) cr = css.sepia(cr, .25) cr = css.brightness(cr, .95) cr = css.contrast(cr, .95) cr = css.saturate(cr, 1.5) return cr
def lark(im): """Applies Lark filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs1 = util.fill(cb.size, [34, 37, 63]) cm1 = css.blending.color_dodge(cb, cs1) cs2 = util.fill(cb.size, [242, 242, 242, .8]) cr = css.blending.darken(cm1, cs2) cr = css.contrast(cr, .9) return cr
def valencia(im): """Applies Valencia filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.fill(cb.size, [58, 3, 57]) cs = css.blending.exclusion(cb, cs) cr = Image.blend(cb, cs, .5) cr = css.contrast(cr, 1.08) cr = css.brightness(cr, 1.08) cr = css.sepia(cr, .08) return cr
def reyes(im): """Applies Reyes filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.fill(cb.size, [239, 205, 173]) cs = css.blending.soft_light(cb, cs) cr = Image.blend(cb, cs, .5) cr = css.sepia(cr, .22) cr = css.brightness(cr, 1.1) cr = css.contrast(cr, .85) cr = css.saturate(cr, .75) return cr
def hudson(im): """Applies Hudson filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.radial_gradient(cb.size, [(166, 177, 255), (52, 33, 52)], [.5, 1]) cs = css.blending.multiply(cb, cs) cr = Image.blend(cb, cs, .5) # opacity cr = css.brightness(cr, 1.2) cr = css.contrast(cr, .9) cr = css.saturate(cr, 1.1) return cr
def lofi(im): """Applies Lo-Fi filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.fill(cb.size, [34, 34, 34]) cs = css.blending.multiply(cb, cs) mask = util.radial_gradient_mask(cb.size, length=.7, scale=1.5) cr = Image.composite(cb, cs, mask) cr = css.saturate(cr, 1.1) cr = css.contrast(cr, 1.5) return cr
def moon(im): """Applies Moon filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs1 = util.fill(cb.size, [160, 160, 160]) cs = css.blending.soft_light(cb, cs1) cs2 = util.fill(cb.size, [56, 56, 56]) cr = css.blending.lighten(cs, cs2) cr = css.grayscale(cr) cr = css.contrast(cr, 1.1) cr = css.brightness(cr, 1.1) return cr
def aden(im): """Applies Aden filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs = util.fill(cb.size, [66, 10, 14]) cs = ImageChops.darker(cb, cs) alpha_mask = util.linear_gradient_mask(cb.size, start=.8) cr = Image.composite(cs, cb, alpha_mask) cr = css.hue_rotate(cr, -20) cr = css.contrast(cr, .9) cr = css.saturate(cr, .85) cr = css.brightness(cr, 1.2) return cr
def willow(im): """Applies Willow filter. Arguments: im: An input image. Returns: The output image. """ cb = util.or_convert(im, 'RGB') cs1 = util.radial_gradient(cb.size, [(212, 169, 175), (0, 0, 0)], [.55, 1.5]) cm1 = css.blending.overlay(cb, cs1) cs2 = util.fill(cb.size, [216, 205, 203]) cr = css.blending.color(cm1, cs2) cr = css.grayscale(cr, .5) cr = css.contrast(cr, .95) cr = css.brightness(cr, .9) return cr
def test_contrast_less_than_0(): with pytest.raises(AssertionError): im = util.fill((4, 4), [174, 56, 3]) css.contrast(im, -1)