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")