From 41fa67e7d74b70162fa76de504a173f2c6130af9 Mon Sep 17 00:00:00 2001 From: Shoaib Date: Tue, 1 Oct 2019 12:54:14 +0530 Subject: [PATCH 1/4] digital_image_processing/convert_to_negative --- .../convert_to_negative.py | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 digital_image_processing/convert_to_negative.py diff --git a/digital_image_processing/convert_to_negative.py b/digital_image_processing/convert_to_negative.py new file mode 100644 index 000000000000..83ee1e87d832 --- /dev/null +++ b/digital_image_processing/convert_to_negative.py @@ -0,0 +1,26 @@ +from cv2 import imread, imshow, waitKey, destroyAllWindows + + +def convert_to_negative(img): + # getting number of pixels in the image + pixel_h, pixel_v = img.shape[0], img.shape[1] + + # converting each pixel's color to its negative + for i in range(pixel_h): + for j in range(pixel_v): + img[i][j] = [255, 255, 255] - img[i][j] + + return img + + +if __name__ == "__main__": + # read original image + img = imread(r"image_data/lena.jpg", 1) + + # convert to its negative + neg = convert_to_negative(img) + + # show result image + imshow("negative of original image", img) + waitKey(0) + destroyAllWindows() From 6542bb73e7901bfe00538ba75d0f8b35597fccff Mon Sep 17 00:00:00 2001 From: Shoaib Date: Tue, 1 Oct 2019 15:22:23 +0530 Subject: [PATCH 2/4] added doc --- digital_image_processing/convert_to_negative.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/digital_image_processing/convert_to_negative.py b/digital_image_processing/convert_to_negative.py index 83ee1e87d832..8a51c8b4a578 100644 --- a/digital_image_processing/convert_to_negative.py +++ b/digital_image_processing/convert_to_negative.py @@ -1,3 +1,7 @@ +""" + Implemented an algorithm using opencv to convert a colored image into its negative +""" + from cv2 import imread, imshow, waitKey, destroyAllWindows From 0ba3af3c9177d46dfab30ef743a6bc7b02ead9d2 Mon Sep 17 00:00:00 2001 From: shoaib asgar Date: Tue, 1 Oct 2019 19:14:19 +0530 Subject: [PATCH 3/4] added test code --- digital_image_processing/test_digital_image_processing.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/digital_image_processing/test_digital_image_processing.py b/digital_image_processing/test_digital_image_processing.py index 02c1a2d3a663..1a730b39101b 100644 --- a/digital_image_processing/test_digital_image_processing.py +++ b/digital_image_processing/test_digital_image_processing.py @@ -8,6 +8,7 @@ import digital_image_processing.filters.sobel_filter as sob import digital_image_processing.filters.convolve as conv import digital_image_processing.change_contrast as cc +import digital_image_processing.convert_to_negative as cn from cv2 import imread, cvtColor, COLOR_BGR2GRAY from numpy import array, uint8 from PIL import Image @@ -15,6 +16,13 @@ img = imread(r"digital_image_processing/image_data/lena_small.jpg") gray = cvtColor(img, COLOR_BGR2GRAY) +# Test: convert_to_negative() +def test_convert_to_negative(): + negative_img = cn.convert_to_negative(img) + # assert negative_img array for at least one True + assert negative_img.any() + + # Test: change_contrast() def test_change_contrast(): with Image.open("digital_image_processing/image_data/lena_small.jpg") as img: From 275bc2bb49dd0c7f436c0845a64fe2c959a09334 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sun, 1 Dec 2019 05:51:12 +0100 Subject: [PATCH 4/4] Update convert_to_negative.py --- digital_image_processing/convert_to_negative.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/digital_image_processing/convert_to_negative.py b/digital_image_processing/convert_to_negative.py index 8a51c8b4a578..cba503938aec 100644 --- a/digital_image_processing/convert_to_negative.py +++ b/digital_image_processing/convert_to_negative.py @@ -19,7 +19,7 @@ def convert_to_negative(img): if __name__ == "__main__": # read original image - img = imread(r"image_data/lena.jpg", 1) + img = imread("image_data/lena.jpg", 1) # convert to its negative neg = convert_to_negative(img)