From ae1467cc21d64bf12fc3f6fec5d50b15e493dbd7 Mon Sep 17 00:00:00 2001 From: Slayking1965 <69784108+Slayking1965@users.noreply.github.com> Date: Mon, 5 Oct 2020 07:44:23 +0530 Subject: [PATCH] Fixing PIL warnings in pytest output --- fixing PIL issues in pytest output | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 fixing PIL issues in pytest output diff --git a/fixing PIL issues in pytest output b/fixing PIL issues in pytest output new file mode 100644 index 000000000000..5659a28ad6c7 --- /dev/null +++ b/fixing PIL issues in pytest output @@ -0,0 +1,35 @@ +#author-kingslayer8509@gmail.com +""" +Changing contrast with PIL +This algorithm is used in +https://noivce.pythonanywhere.com/ Python web app. +python/black: True +flake8 : True +""" +from PIL import Image + + +def change_contrast(img: Image, level: float) -> Image: +def change_contrast(img: Image, level: int) -> Image: + """ + Function to change contrast + """ + factor = (259 * (level + 255)) / (255 * (259 - level)) + + def contrast(c: int) -> float: + def contrast(c: int) -> int: + """ + Fundamental Transformation/Operation that'll be performed on + every bit. + """ + return 128 + factor * (c - 128) + return int(128 + factor * (c - 128)) + + return img.point(contrast) + +if __name__ == "__main__": + # Load image + with Image.open("image_data/lena.jpg") as img: + # Change contrast to 170 + cont_img = change_contrast(img, 170) + cont_img.save("image_data/lena_high_contrast.png", format="png")