From 98f5c592b9b74d39522a36a06c7d84fe78675c90 Mon Sep 17 00:00:00 2001 From: QuantumNovice <43876848+QuantumNovice@users.noreply.github.com> Date: Sun, 21 Jul 2019 15:06:22 +0500 Subject: [PATCH 1/6] Add files via upload --- digital_image_processing/change_contrast.py | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 digital_image_processing/change_contrast.py diff --git a/digital_image_processing/change_contrast.py b/digital_image_processing/change_contrast.py new file mode 100644 index 000000000000..52b4fd9bd744 --- /dev/null +++ b/digital_image_processing/change_contrast.py @@ -0,0 +1,35 @@ +""" +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, level: int): + """ + Function to change contrast + """ + factor = (259 * (level + 255)) / (255 * (259 - level)) + + def contrast(c): + """ + Fundamental Transformation/Operation that'll be performed on + every bit. + """ + return 128 + factor * (c - 128) + + return img.point(contrast) + + +if __name__ == "__main__": + # Load image + img = Image.open("image_data/lena.jpg") + # Change contrast to 170 + cont_img = change_contrast(img, 170.0) + cont_img.save("image_data/lena_high_contrast.png", format="png") From 84eb9b38daf556d6ec7c37dbcd567f5e5b12da98 Mon Sep 17 00:00:00 2001 From: QuantumNovice <43876848+QuantumNovice@users.noreply.github.com> Date: Sun, 21 Jul 2019 15:11:47 +0500 Subject: [PATCH 2/6] Update requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 91d3df33323d..a3e62cf968f7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,6 +5,7 @@ mypy numpy opencv-python pandas +pillow pytest sklearn sympy From 313a1387b3c164ea3bcc9f2f6235fc5fc1ca8f72 Mon Sep 17 00:00:00 2001 From: QuantumNovice <43876848+QuantumNovice@users.noreply.github.com> Date: Sun, 21 Jul 2019 15:22:40 +0500 Subject: [PATCH 3/6] Add files via upload --- digital_image_processing/change_contrast.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/digital_image_processing/change_contrast.py b/digital_image_processing/change_contrast.py index 52b4fd9bd744..c892a0774813 100644 --- a/digital_image_processing/change_contrast.py +++ b/digital_image_processing/change_contrast.py @@ -11,13 +11,13 @@ from PIL import Image -def change_contrast(img, level: int): +def change_contrast(img: Image, level: int) -> Image: """ Function to change contrast """ factor = (259 * (level + 255)) / (255 * (259 - level)) - def contrast(c): + def contrast(c: int) -> int: """ Fundamental Transformation/Operation that'll be performed on every bit. @@ -31,5 +31,5 @@ def contrast(c): # Load image img = Image.open("image_data/lena.jpg") # Change contrast to 170 - cont_img = change_contrast(img, 170.0) + cont_img = change_contrast(img, 170) cont_img.save("image_data/lena_high_contrast.png", format="png") From 30ef03808fadeb7d1f07f2c28e74835a7a61d691 Mon Sep 17 00:00:00 2001 From: QuantumNovice <43876848+QuantumNovice@users.noreply.github.com> Date: Sun, 21 Jul 2019 15:30:28 +0500 Subject: [PATCH 4/6] Add files via upload --- digital_image_processing/change_contrast.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/digital_image_processing/change_contrast.py b/digital_image_processing/change_contrast.py index c892a0774813..ecdc3b48337b 100644 --- a/digital_image_processing/change_contrast.py +++ b/digital_image_processing/change_contrast.py @@ -17,7 +17,7 @@ def change_contrast(img: Image, level: int) -> Image: """ factor = (259 * (level + 255)) / (255 * (259 - level)) - def contrast(c: int) -> int: + def contrast(c: int) -> float: """ Fundamental Transformation/Operation that'll be performed on every bit. From b80a19f697daedcbdd002d53ecda90e3f7e09784 Mon Sep 17 00:00:00 2001 From: QuantumNovice <43876848+QuantumNovice@users.noreply.github.com> Date: Sun, 21 Jul 2019 15:52:56 +0500 Subject: [PATCH 5/6] Add files via upload --- digital_image_processing/change_contrast.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/digital_image_processing/change_contrast.py b/digital_image_processing/change_contrast.py index ecdc3b48337b..6464828c2809 100644 --- a/digital_image_processing/change_contrast.py +++ b/digital_image_processing/change_contrast.py @@ -11,7 +11,7 @@ from PIL import Image -def change_contrast(img: Image, level: int) -> Image: +def change_contrast(img: Image, level: float) -> Image: """ Function to change contrast """ From 7d3c737b308e7b90314b480395a972bc0985edc9 Mon Sep 17 00:00:00 2001 From: QuantumNovice <43876848+QuantumNovice@users.noreply.github.com> Date: Sun, 21 Jul 2019 15:59:35 +0500 Subject: [PATCH 6/6] Add files via upload --- digital_image_processing/change_contrast.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/digital_image_processing/change_contrast.py b/digital_image_processing/change_contrast.py index 6464828c2809..76f1a3e1fcd8 100644 --- a/digital_image_processing/change_contrast.py +++ b/digital_image_processing/change_contrast.py @@ -29,7 +29,7 @@ def contrast(c: int) -> float: if __name__ == "__main__": # Load image - img = Image.open("image_data/lena.jpg") - # Change contrast to 170 - cont_img = change_contrast(img, 170) - cont_img.save("image_data/lena_high_contrast.png", format="png") + 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")