digital_image_processing/convert_to_negative (#1216)

* digital_image_processing/convert_to_negative

* added doc

* added test code

* Update convert_to_negative.py
This commit is contained in:
Shoaib Asgar 2019-12-09 07:59:01 +05:30 committed by Christian Clauss
parent 02b717e364
commit 9316618611
2 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,30 @@
"""
Implemented an algorithm using opencv to convert a colored image into its negative
"""
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("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()

View File

@ -8,6 +8,7 @@ import digital_image_processing.filters.median_filter as med
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 @@ from PIL import Image
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: