예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
파일: rise.py 프로젝트: akiomik/pilgram
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
예제 #5
0
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
예제 #6
0
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
예제 #7
0
파일: mayfair.py 프로젝트: akiomik/pilgram
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
예제 #8
0
파일: inkwell.py 프로젝트: i10/TangiFlow
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
예제 #9
0
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
예제 #10
0
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
예제 #11
0
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
예제 #12
0
파일: stinson.py 프로젝트: akiomik/pilgram
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
예제 #13
0
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
예제 #14
0
파일: _1977.py 프로젝트: akiomik/pilgram
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
예제 #15
0
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
예제 #16
0
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
예제 #17
0
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
예제 #18
0
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
예제 #19
0
파일: hudson.py 프로젝트: akiomik/pilgram
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
예제 #20
0
파일: lofi.py 프로젝트: akiomik/pilgram
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
예제 #21
0
파일: moon.py 프로젝트: akiomik/pilgram
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
예제 #22
0
파일: aden.py 프로젝트: i10/TangiFlow
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
예제 #23
0
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
예제 #24
0
def test_contrast_less_than_0():
    with pytest.raises(AssertionError):
        im = util.fill((4, 4), [174, 56, 3])
        css.contrast(im, -1)