def test_filter_draw() -> None: """ Muneer Bhola, 101117746 A test fuction for draw_curve >>>test_filter_draw() """ original = create_image(9, 1) set_color(original, 0, 0, create_color(123, 44, 94)) set_color(original, 1, 0, create_color(137, 110, 80)) set_color(original, 2, 0, create_color(150, 125, 94)) set_color(original, 3, 0, create_color(130, 107, 73)) set_color(original, 4, 0, create_color(141, 122, 79)) set_color(original, 5, 0, create_color(134, 114, 64)) set_color(original, 6, 0, create_color(141, 122, 64)) set_color(original, 7, 0, create_color(144, 122, 62)) set_color(original, 8, 0, create_color(222, 169, 13)) expected = create_image(9, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(0, 0, 0)) set_color(expected, 2, 0, create_color(0, 0, 0)) set_color(expected, 3, 0, create_color(0, 0, 0)) set_color(expected, 4, 0, create_color(0, 0, 0)) set_color(expected, 5, 0, create_color(0, 0, 0)) set_color(expected, 6, 0, create_color(0, 0, 0)) set_color(expected, 7, 0, create_color(0, 0, 0)) set_color(expected, 8, 0, create_color(0, 0, 0)) filter_draw_image, border = filter_draw(original, "black", [(0, 0), (4, 20), (7, 0)]) print("testing filter_draw") for x, y, col in filter_draw_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_green_channel() -> None: # lubna aboshaeir # 101187928 """ >>> test_green_channel() """ original = create_image(3, 2) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(255, 255, 255)) set_color(original, 2, 0, create_color(20, 40, 20)) set_color(original, 0, 1, create_color(255, 0, 255)) set_color(original, 1, 1, create_color(25, 255, 0)) set_color(original, 2, 1, create_color(52, 255, 0)) expected = create_image(3, 2) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(0, 255, 0)) set_color(expected, 2, 0, create_color(0, 40, 0)) set_color(expected, 0, 1, create_color(0, 0, 0)) set_color(expected, 1, 1, create_color(0, 255, 0)) set_color(expected, 2, 1, create_color(0, 255, 0)) green_image = green_channel(original) for x, y, col in green_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_edge() -> None: #Junayd DeMone #101186381 """ Returns prints passed if correct otherwise prints failed >>>test_edge() Checking pixel @(0, 0) PASSED ------ Checking pixel @(0, 1) PASSED ------ Checking pixel @(0, 2) PASSED ------ """ original = create_image(1, 3) set_color(original, 0, 0, create_color(5, 5, 5)) set_color(original, 0, 1, create_color(2, 1, 3)) set_color(original, 0, 2, create_color(124, 133, 17)) expected = create_image(1, 3) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 0, 1, create_color(255, 255, 255)) set_color(expected, 0, 2, create_color(255, 255, 255)) actual_filtered_image = detect_edges(original, 1) for x, y, col in actual_filtered_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_posterize() -> None: #Junayd DeMone #101186381 """ returns passed if correct otherwise returns failed >>>test_posterize() Checking pixel @(0, 0) PASSED ------ Checking pixel @(1, 0) PASSED ------ Checking pixel @(2, 0) PASSED ------ Checking pixel @(3, 0) PASSED ------ """ original = create_image(4, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(51, 51, 51)) set_color(original, 2, 0, create_color(133, 133, 133)) set_color(original, 3, 0, create_color(221, 221, 221)) expected = create_image(4, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(0, 0, 0)) set_color(expected, 2, 0, create_color(95, 95, 95)) set_color(expected, 3, 0, create_color(159, 159, 159)) actual_filtered_image = posterize(original) for x, y, col in actual_filtered_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_sepia(): """ Group 097 Contributors: Timothy March 21st, 2021 A test function for sepia >>>test_sepia() """ #This test function checks if combine sucessfully : #(0, 0, 0) into (0, 0, 0) # all black #(0, 255, 255), (255, 0, 255), and (255, 255, 0) into (0, 0, 0) # different colors than those that should be used #(120, 0, 0), (0, 120, 0), and (0, 0, 120) into (120, 120, 120) # three of the same value of red, green, and blue #(183, 47, 111), (25, 205, 13), and (136, 69, 86) into (183, 205, 86) # all different values of red, green, and blue # Create three image with four pixels each original_image = create_image(5, 1) set_color(original_image, 0, 0, create_color(0, 0, 0)) set_color(original_image, 1, 0, create_color(25, 90, 12)) set_color(original_image, 2, 0, create_color(50, 100, 90)) set_color(original_image, 3, 0, create_color(200, 210, 190)) set_color(original_image, 4, 0, create_color(255, 255, 255)) expected_image = create_image(5, 1) set_color(expected_image, 0, 0, create_color(0, 0, 0)) set_color(expected_image, 1, 0, create_color(46, 42, 37)) set_color(expected_image, 2, 0, create_color(92, 80, 68)) set_color(expected_image, 3, 0, create_color(216, 200, 186)) set_color(expected_image, 4, 0, create_color(255, 255, 237)) actual_image = sepia(original_image) for x, y, col in actual_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_image, x, y))
def test_vertical(): """ Group 097 Contributors: Timothy (101187187) March 27th, 2021 A test function for the horizontal flip function A test function for the vertical flip function """ #this function tests if the function sucessfully reverses various pixels across the #vertical direction original_image = create_image(1, 5) set_color(original_image, 0, 0, create_color(0, 0, 0)) set_color(original_image, 0, 1, create_color(25, 90, 12)) set_color(original_image, 0, 2, create_color(50, 100, 90)) set_color(original_image, 0, 3, create_color(200, 210, 190)) set_color(original_image, 0, 4, create_color(255, 255, 255)) expected_image = create_image(1, 5) set_color(expected_image, 0, 0, create_color(255, 255, 255)) set_color(expected_image, 0, 1, create_color(200, 210, 190)) set_color(expected_image, 0, 2, create_color(50, 100, 90)) set_color(expected_image, 0, 3, create_color(25, 90, 12)) set_color(expected_image, 0, 4, create_color(0, 0, 0)) actual_image = flip_vertical(original_image) for x, y, col in actual_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_image, x, y))
def test_flip_horizontal(): """Returns a "Passed" or "Failed", testing if the function flip_horizontal correctly flips the image horizontally along the vertical line. >>>picture = Image(choose_file()) >>>test_flip_horizontal() Passed By Moe Muhstaha """ creation = create_image(4, 1) set_color(creation, 0, 0, create_color(27, 111, 247)) set_color(creation, 1, 0, create_color(167, 177, 76)) set_color(creation, 2, 0, create_color(45, 132, 31)) set_color(creation, 3, 0, create_color(176, 216, 41)) expected = create_image(4, 1) set_color(expected, 0, 0, create_color(176, 216, 41)) set_color(expected, 1, 0, create_color(45, 132, 31)) set_color(expected, 2, 0, create_color(167, 177, 76)) set_color(expected, 3, 0, create_color(27, 111, 247)) horizontally_flipped = flip_horizontal(creation) for x, y, (r, g, b) in horizontally_flipped: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', color, get_color(expected, x, y))
def test_sepia() -> None: """ Tests if the filter code implemented correctly and Prints True for the function, sepia(), for all the expecte colour of pixels on the image passed. >>> test_sepia() sepia(image) PASSED By Justin Park 101013156 """ original_image = Image(choose_file()) gray_pic = grayscale(original_image) show(gray_pic) sepia_image = sepia(original_image) show(sepia_image) count = 0 for x, y, (r, g, b) in gray_pic: sepia_filtered_pixel = get_color(sepia_image, x, y) if r > 191: set_color(gray_pic, x, y, create_color(r * 1.08, g, b * 0.93)) testing_pixel = get_color(gray_pic, x, y) if r >= 63 and r <= 191: set_color(gray_pic, x, y, create_color(r * 1.15, g, b * 0.85)) testing_pixel = get_color(gray_pic, x, y) if r < 63: set_color(gray_pic, x, y, create_color(r * 1.1, g, b * 0.9)) testing_pixel = get_color(gray_pic, x, y) if testing_pixel != sepia_filtered_pixel: count += 1 actual = count expected = 0 check_equal("sepia(image)", actual, expected)
def test_blue() -> None: """ Developed by Hussein Rashid, 101141962 Test whether blue_channel function pass or fail. Check if the RGB values are (0,0,b) where b is the blue pixel amount. >>> test_blue() """ original = create_image(6, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(0, 0, 1)) set_color(original, 2, 0, create_color(127, 127, 127)) set_color(original, 3, 0, create_color(125, 73, 224)) set_color(original, 4, 0, create_color(255, 255, 254)) set_color(original, 5, 0, create_color(255, 255, 255)) expected = create_image(6, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(0, 0, 1)) set_color(expected, 2, 0, create_color(0, 0, 127)) set_color(expected, 3, 0, create_color(0, 0, 224)) set_color(expected, 4, 0, create_color(0, 0, 254)) set_color(expected, 5, 0, create_color(0, 0, 255)) blue_image = blue_channel(original) for x, y, col in blue_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_green() -> None: """ Developed by Karandev Andotra, 101141882 Test whether green_channel function pass or fail. Check if the RGB values are (0,g,0) where g is the green pixel amount. >>> test_green() """ original = create_image(6, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(0, 1, 0)) set_color(original, 2, 0, create_color(127, 127, 127)) set_color(original, 3, 0, create_color(125, 73, 224)) set_color(original, 4, 0, create_color(255, 254, 255)) set_color(original, 5, 0, create_color(255, 255, 255)) expected = create_image(6, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(0, 1, 0)) set_color(expected, 2, 0, create_color(0, 127, 0)) set_color(expected, 3, 0, create_color(0, 73, 0)) set_color(expected, 4, 0, create_color(0, 254, 0)) set_color(expected, 5, 0, create_color(0, 255, 0)) green_image = green_channel(original) for x, y, col in green_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_posterize() -> None: """ Developed by Karandev Andotra, 101141882 Reviewed by Hussein Rashid, 101141962 Test whether posterize function pass or fail. >>> test_posterize() """ original = create_image(6, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(1, 1, 1)) set_color(original, 2, 0, create_color(63, 64, 127)) set_color(original, 3, 0, create_color(127, 128, 191)) set_color(original, 4, 0, create_color(191, 192, 255)) set_color(original, 5, 0, create_color(255, 255, 255)) expected = create_image(6, 1) set_color(expected, 0, 0, create_color(31, 31, 31)) set_color(expected, 1, 0, create_color(31, 31, 31)) set_color(expected, 2, 0, create_color(31, 95, 95)) set_color(expected, 3, 0, create_color(95, 159, 159)) set_color(expected, 4, 0, create_color(159, 223, 223)) set_color(expected, 5, 0, create_color(223, 223, 223)) posterize_image = posterize(original) for x, y, col in posterize_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_extreme_contrast() -> None: """ Developed by Hussein Rashid, 101141962 Reviewed by Trong Nguyen, 100848232 Test whether extreme_contrast function pass or fail. >>> test_extreme_contrast() """ original = create_image(6, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(127, 127, 127)) set_color(original, 2, 0, create_color(224, 73, 125)) set_color(original, 3, 0, create_color(125, 224, 73)) set_color(original, 4, 0, create_color(73, 125, 224)) set_color(original, 5, 0, create_color(255, 255, 255)) expected = create_image(6, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(0, 0, 0)) set_color(expected, 2, 0, create_color(255, 0, 0)) set_color(expected, 3, 0, create_color(0, 255, 0)) set_color(expected, 4, 0, create_color(0, 0, 255)) set_color(expected, 5, 0, create_color(255, 255, 255)) extreme_contrast_image = extreme_contrast(original) for x, y, col in extreme_contrast_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_sepia() -> None: """ Developed by Trong Nguyen, 100848232 Reviewed by Ahmed Abdellah, 101163588 Test whether sepia function pass or fail. >>> test_sepia() """ original = create_image(6, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(1, 1, 1)) set_color(original, 2, 0, create_color(63, 63, 63)) set_color(original, 3, 0, create_color(191, 191, 191)) set_color(original, 4, 0, create_color(192, 192, 192)) set_color(original, 5, 0, create_color(255, 255, 255)) expected = create_image(6, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(1, 1, 0)) set_color(expected, 2, 0, create_color(72, 63, 53)) set_color(expected, 3, 0, create_color(219, 191, 162)) set_color(expected, 4, 0, create_color(207, 192, 178)) set_color(expected, 5, 0, create_color(255, 255, 237)) sepia_image = sepia(original) for x, y, col in sepia_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_red() -> None: """ Developed by Ahmed Abdellah, 101163588 Test whether red_channel function pass or fail. Check if the RGB values are (r,0,0) where r is the red pixel amount. >>> test_red() """ original = create_image(6, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(1, 0, 0)) set_color(original, 2, 0, create_color(127, 127, 127)) set_color(original, 3, 0, create_color(125, 73, 224)) set_color(original, 4, 0, create_color(254, 255, 255)) set_color(original, 5, 0, create_color(255, 255, 255)) expected = create_image(6, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(1, 0, 0)) set_color(expected, 2, 0, create_color(127, 0, 0)) set_color(expected, 3, 0, create_color(125, 0, 0)) set_color(expected, 4, 0, create_color(254, 0, 0)) set_color(expected, 5, 0, create_color(255, 0, 0)) red_image = red_channel(original) for x, y, col in red_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_three_tone(original: Image, test: Image, tone1: str, tone2: str, tone3: str) -> None: """Returns testing of function two_tone with "Passed" or "Failed" >>>original = Image(choose_file()) >>>test = three_tone(original, "black", "white", "gray") >>>test_three_tone(original, test, "black", "white", "gray") three_tone PASSED By Maitreyi Patel 101120534 ------ """ colour_names = [ "black", "white", "red", "lime", "blue", "yellow", "cyan", "magenta", "gray" ] colour_nums = [(0, 0, 0), (255, 255, 255), (255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (0, 255, 255), (0, 255, 0), (128, 128, 128)] colour1 = (0, 0, 0) colour2 = (0, 0, 0) colour3 = (0, 0, 0) count = 0 for i in range(len(colour_names)): if colour_names[i] == tone1: colour1 = colour_nums[i] elif colour_names[i] == tone2: colour2 = colour_nums[i] elif colour_names[i] == tone3: colour3 = colour_nums[i] for x, y, (r, g, b) in original: avg = (r + g + b) // 3 if avg <= 84: colourtest = colour1 colour_pic = get_color(test, x, y) elif avg <= 170: colourtest = colour2 colour_pic = get_color(test, x, y) else: colourtest = colour3 colour_pic = get_color(test, x, y) if colourtest == colour_pic: count = count else: count += 1 outcome = count expected = 0 check_equal("three_tone", expected, outcome)
def test_extreme_contrast() -> None: """ Tests if the filter code implemented correctly and Prints True for the function, extreme_contrast(), for all the expecte colour of pixels on the image passed. >>> test_extreme_contrast() extreme_contrast(image) PASSED By Justin Park 101013156 """ original_Image = Image(choose_file()) show(original_Image) extreme_contrasted_image = extreme_contrast(original_Image) show(extreme_contrasted_image) count = 0 # Extreme contrasted image is inputed and will be counting number of pixels # that are not matching with expected brightness for pixel in extreme_contrasted_image: x, y, (r, g, b) = pixel contrasted_pixel = (r, g, b) if r >= 0 and r <= 127: if g >= 0 and g <= 127: if b >= 0 and b <= 127: expected_pixel = create_color(0, 0, 0) else: expected_pixel = create_color(0, 0, 255) else: if b >= 0 and b <= 127: expected_pixel = create_color(0, 255, 0) else: expected_pixel = create_color(0, 255, 255) else: if g >= 0 and g <= 127: if b >= 0 and b <= 127: expected_pixel = create_color(255, 0, 0) else: expected_pixel = create_color(255, 0, 255) else: if b >= 0 and b <= 127: expected_pixel = create_color(255, 255, 0) else: expected_pixel = create_color(255, 255, 255) if contrasted_pixel != expected_pixel: count += 1 outcome = count expected = 0 check_equal("extreme_contrast(image)", outcome, expected)
def test_blue_channel() -> None: original = create_image(3, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(134, 78, 90)) set_color(original, 2, 0, create_color(255, 255, 255)) expected = create_image(3, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(0, 0, 90)) set_color(expected, 2, 0, create_color(0, 0, 255)) actual_filtered_image = blue_channel(original) for x, y, col in actual_filtered_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_combine() -> None: """ Group 097 Contributors: Timothy March 10th, 2021 A test function for combine >>>test_combine() """ #This test function checks if combine sucessfully combines: #(0, 0, 0),(0, 0, 0), and (0, 0, 0) into (0, 0, 0) # all black #(0, 255, 255), (255, 0, 255), and (255, 255, 0) into (0, 0, 0) # different colors than those that should be used #(120, 0, 0), (0, 120, 0), and (0, 0, 120) into (120, 120, 120) # three of the same value of red, green, and blue #(183, 47, 111), (25, 205, 13), and (136, 69, 86) into (183, 205, 86) # all different values of red, green, and blue # Create three image with four pixels each original_red = create_image(4, 1) set_color(original_red, 0, 0, create_color(0, 0, 0)) set_color(original_red, 1, 0, create_color(0, 255, 255)) set_color(original_red, 2, 0, create_color(120, 0, 0)) set_color(original_red, 3, 0, create_color(183, 47, 111)) original_green = create_image(4, 1) set_color(original_green, 0, 0, create_color(0, 0, 0)) set_color(original_green, 1, 0, create_color(255, 0, 255)) set_color(original_green, 2, 0, create_color(0, 120, 0)) set_color(original_green, 3, 0, create_color(25, 205, 13)) original_blue = create_image(4, 1) set_color(original_blue, 0, 0, create_color(0, 0, 0)) set_color(original_blue, 1, 0, create_color(255, 255, 0)) set_color(original_blue, 2, 0, create_color(0, 0, 120)) set_color(original_blue, 3, 0, create_color(136, 69, 86)) # Create an image identical to the one that the function should produce expected = create_image(4, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(0, 0, 0)) set_color(expected, 2, 0, create_color(120, 120, 120)) set_color(expected, 3, 0, create_color(183, 205, 86)) # Compare the output of the combine function to the expected image one pixel at a time combined_image = combine(original_red, original_green, original_blue) for x, y, col in combined_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_combine() -> None: """ Developed by Trong Nguyen, 100848232 Test whether combine function pass or fail. >>> test_combine() """ original_red = create_image(6, 1) set_color(original_red, 0, 0, create_color(0, 0, 0)) set_color(original_red, 1, 0, create_color(1, 0, 0)) set_color(original_red, 2, 0, create_color(127, 0, 0)) set_color(original_red, 3, 0, create_color(125, 0, 0)) set_color(original_red, 4, 0, create_color(254, 0, 0)) set_color(original_red, 5, 0, create_color(255, 0, 0)) original_green = create_image(6, 1) set_color(original_green, 0, 0, create_color(0, 0, 0)) set_color(original_green, 1, 0, create_color(0, 1, 0)) set_color(original_green, 2, 0, create_color(0, 127, 0)) set_color(original_green, 3, 0, create_color(0, 73, 0)) set_color(original_green, 4, 0, create_color(0, 254, 0)) set_color(original_green, 5, 0, create_color(0, 255, 0)) original_blue = create_image(6, 1) set_color(original_blue, 0, 0, create_color(0, 0, 0)) set_color(original_blue, 1, 0, create_color(0, 0, 1)) set_color(original_blue, 2, 0, create_color(0, 0, 127)) set_color(original_blue, 3, 0, create_color(0, 0, 224)) set_color(original_blue, 4, 0, create_color(0, 0, 254)) set_color(original_blue, 5, 0, create_color(0, 0, 255)) expected = create_image(6, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(1, 1, 1)) set_color(expected, 2, 0, create_color(127, 127, 127)) set_color(expected, 3, 0, create_color(125, 73, 224)) set_color(expected, 4, 0, create_color(254, 254, 254)) set_color(expected, 5, 0, create_color(255, 255, 255)) combine_image = combine(original_red, original_green, original_blue) for x, y, col in combine_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_flip_horizontal() -> None: """ Developed by Karandev Andotra, 101141882 Reviewed by Ahmed Abdellah, 101163588 Test whether flip_horizontal function pass or fail. >>> test_flip_horizontal() """ original = create_image(6, 2) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(125, 73, 224)) set_color(original, 2, 0, create_color(224, 23, 125)) set_color(original, 3, 0, create_color(251, 65, 62)) set_color(original, 4, 0, create_color(52, 173, 142)) set_color(original, 5, 0, create_color(255, 255, 255)) set_color(original, 0, 1, create_color(0, 0, 0)) set_color(original, 1, 1, create_color(253, 200, 90)) set_color(original, 2, 1, create_color(102, 23, 225)) set_color(original, 3, 1, create_color(52, 173, 142)) set_color(original, 4, 1, create_color(251, 42, 37)) set_color(original, 5, 1, create_color(255, 255, 255)) expected = create_image(6, 2) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(253, 200, 90)) set_color(expected, 2, 0, create_color(102, 23, 225)) set_color(expected, 3, 0, create_color(52, 173, 142)) set_color(expected, 4, 0, create_color(251, 42, 37)) set_color(expected, 5, 0, create_color(255, 255, 255)) set_color(expected, 0, 1, create_color(0, 0, 0)) set_color(expected, 1, 1, create_color(125, 73, 224)) set_color(expected, 2, 1, create_color(224, 23, 125)) set_color(expected, 3, 1, create_color(251, 65, 62)) set_color(expected, 4, 1, create_color(52, 173, 142)) set_color(expected, 5, 1, create_color(255, 255, 255)) flip_horizontal_image = flip_horizontal(original) for x, y, col in flip_horizontal_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_detect_edges_better() -> None: """ Developed by Hussein Rashid, 101141962 Reviewed by Karandev Andotra, 101141882 Test whether detect_edges_better function pass or fail. >>> test_detect_edges_better() """ original = create_image(6, 2) set_color(original, 0, 0, create_color(0, 0, 0)) #brightness 0 set_color(original, 1, 0, create_color(255, 255, 255)) #brightness 255 set_color(original, 2, 0, create_color(224, 23, 125)) #brightness 124 set_color(original, 3, 0, create_color(251, 65, 62)) #brightness 126 set_color(original, 4, 0, create_color(52, 173, 142)) #brightness 122 set_color(original, 5, 0, create_color(0, 0, 0)) #brightness 0 set_color(original, 0, 1, create_color(0, 0, 0)) #brightness 0 set_color(original, 1, 1, create_color(255, 255, 255)) #brightness 255 set_color(original, 2, 1, create_color(102, 23, 225)) #brightness 124 set_color(original, 3, 1, create_color(52, 173, 142)) #brightness 122 set_color(original, 4, 1, create_color(251, 42, 37)) #brightness 110 set_color(original, 5, 1, create_color(255, 255, 255)) #brightness 255 expected = create_image(6, 2) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(0, 0, 0)) set_color(expected, 2, 0, create_color(255, 255, 255)) set_color(expected, 3, 0, create_color(255, 255, 255)) set_color(expected, 4, 0, create_color(0, 0, 0)) set_color(expected, 5, 0, create_color(255, 255, 255)) set_color(expected, 0, 1, create_color(255, 255, 255)) set_color(expected, 1, 1, create_color(255, 255, 255)) set_color(expected, 2, 1, create_color(255, 255, 255)) set_color(expected, 3, 1, create_color(255, 255, 255)) set_color(expected, 4, 1, create_color(255, 255, 255)) set_color(expected, 5, 1, create_color(255, 255, 255)) detect_edges_better_image = detect_edges_better(original, THRESHOLD) for x, y, col in detect_edges_better_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_extreme_contrast() -> None: """ Muneer Bhola (101117746) A test function for extreme_contrast >>>test_extreme_contrast() """ image = create_image(3, 1) set_color(image, 0, 0, create_color(120, 0, 70)) set_color(image, 1, 0, create_color(128, 230, 23)) set_color(image, 2, 0, create_color(255, 40, 34)) expected = create_image(3, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(225, 225, 0)) set_color(expected, 2, 0, create_color(225, 0, 0)) extreme_contrast_image = extreme_contrast(image) for x, y, col in extreme_contrast_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_flip_vertical() -> None: """ Returns a "Passed" or "Failed", testing if the function flip_vertical correctly flips the image vertically along the horizontal line. >>>picture = Image(choose_file()) >>>test_flip_vertical() Passed By Maitreyi Patel 101120534 """ original = create_image(1, 3) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 0, 1, create_color(1, 1, 1)) set_color(original, 0, 2, create_color(2, 2, 2)) expected = create_image(1, 3) set_color(expected, 0, 0, create_color(2, 2, 2)) set_color(expected, 0, 1, create_color(1, 1, 1)) set_color(expected, 0, 2, create_color(0, 0, 0)) picture_flip = flip_vertical(original) for x, y, color in picture_flip: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', color, get_color(expected, x, y))
def test_red_channel() -> None: """ Group T097 Contributor: Muneer Bhola, 101117746 March 11th, 2021 A test fuction for red_filter >>>test_red_chanel() """ original = create_image(3, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(128, 127, 128)) set_color(original, 2, 0, create_color(255, 255, 255)) expected = create_image(3, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(128, 0, 0)) set_color(expected, 2, 0, create_color(255, 0, 0)) actual_red_image = red_channel(original) print("testing red_filter") for x, y, col in actual_red_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_three_tone() -> None: """ Developed by Ahmed Abdellah, 101163588 Reviewed by Karandev Andotra, 101141882 Test whether three_tone function pass or fail. >>> test_three_tone() """ original = create_image(6, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(80, 84, 88)) set_color(original, 2, 0, create_color(80, 85, 90)) set_color(original, 3, 0, create_color(150, 170, 190)) set_color(original, 4, 0, create_color(170, 171, 172)) set_color(original, 5, 0, create_color(255, 255, 255)) expected_wbr = create_image(6, 1) set_color(expected_wbr, 0, 0, create_color(0, 0, 0)) set_color(expected_wbr, 1, 0, create_color(0, 0, 0)) set_color(expected_wbr, 2, 0, create_color(255, 255, 255)) set_color(expected_wbr, 3, 0, create_color(255, 255, 255)) set_color(expected_wbr, 4, 0, create_color(255, 0, 0)) set_color(expected_wbr, 5, 0, create_color(255, 0, 0)) expected_lby = create_image(6, 1) set_color(expected_lby, 0, 0, create_color(0, 255, 0)) set_color(expected_lby, 1, 0, create_color(0, 255, 0)) set_color(expected_lby, 2, 0, create_color(0, 0, 255)) set_color(expected_lby, 3, 0, create_color(0, 0, 255)) set_color(expected_lby, 4, 0, create_color(255, 255, 0)) set_color(expected_lby, 5, 0, create_color(255, 255, 0)) expected_cmg = create_image(6, 1) set_color(expected_cmg, 0, 0, create_color(0, 255, 255)) set_color(expected_cmg, 1, 0, create_color(0, 255, 255)) set_color(expected_cmg, 2, 0, create_color(255, 0, 255)) set_color(expected_cmg, 3, 0, create_color(255, 0, 255)) set_color(expected_cmg, 4, 0, create_color(128, 128, 128)) set_color(expected_cmg, 5, 0, create_color(128, 128, 128)) three_tone_image = three_tone(original, "black", "white", "red") for x, y, col in three_tone_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_wbr, x, y)) three_tone_image = three_tone(original, "lime", "blue", "yellow") for x, y, col in three_tone_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_lby, x, y)) three_tone_image = three_tone(original, "cyan", "magenta", "gray") for x, y, col in three_tone_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_cmg, x, y))
def test_combine() -> None: """ #Adnan Hafeez - T010 - 101210710 A test function for the combined filter. Utilizes a 6x1 test image for which an expected and calculated pixel value is obtained by applying the combine filter. The expected pixel values for each red, green, and blue image are compared with the calculated pixel values obtained using the combine filter. If a test passes, "PASSED" is printed, otherwise "FAILED" for each pixel value (x,y) respectively. >>> test_combine() """ # This test function checks if combine correctly combines the R G B channels: # R=(0, 0, 0), G=(0, 0, 0), B=(0, 0, 0) to (0, 0, 0) # no color # R=(13, 0, 0), G=(0, 0, 0), B=(0, 0, 1) to (13, 0, 1) # R=(255, 0, 0), G=(0, 127, 0), B=(0, 0, 127) to (255, 127, 127) # R=(125, 0, 0), G=(0, 73, 0), B=(0, 0, 224) to (125, 73, 224) # R=(254, 0, 0), G=(0, 255, 0), B=(0, 0, 255) to (254, 255, 255) # R=(87, 0, 0), G=(0, 13, 0), B=(0, 0, 255) to (87, 13, 255) # Create an red channel image with six pixels. red_img = create_image(6, 1) set_color(red_img, 0, 0, create_color(0, 0, 0)) set_color(red_img, 1, 0, create_color(13, 0, 0)) set_color(red_img, 2, 0, create_color(255, 0, 0)) set_color(red_img, 3, 0, create_color(125, 0, 0)) set_color(red_img, 4, 0, create_color(254, 0, 0)) set_color(red_img, 5, 0, create_color(87, 0, 0)) # Create an green channel image with six pixels. green_img = create_image(6, 1) set_color(green_img, 0, 0, create_color(0, 0, 0)) set_color(green_img, 1, 0, create_color(0, 0, 0)) set_color(green_img, 2, 0, create_color(0, 127, 0)) set_color(green_img, 3, 0, create_color(0, 73, 0)) set_color(green_img, 4, 0, create_color(0, 255, 0)) set_color(green_img, 5, 0, create_color(0, 13, 0)) # Create an blue channel image with six pixels. blue_img = create_image(6, 1) set_color(blue_img, 0, 0, create_color(0, 0, 0)) set_color(blue_img, 1, 0, create_color(0, 0, 1)) set_color(blue_img, 2, 0, create_color(0, 0, 127)) set_color(blue_img, 3, 0, create_color(0, 0, 224)) set_color(blue_img, 4, 0, create_color(0, 0, 255)) set_color(blue_img, 5, 0, create_color(0, 0, 255)) # Create an image that's identical to the one a correct implementation of # combine should produce when it is passed the red_img, green_img and blue_img as inputs. expected = create_image(6, 1) set_color(expected, 0, 0, create_color(0, 0, 0)) set_color(expected, 1, 0, create_color(13, 0, 1)) set_color(expected, 2, 0, create_color(255, 127, 127)) set_color(expected, 3, 0, create_color(125, 73, 224)) set_color(expected, 4, 0, create_color(254, 255, 255)) set_color(expected, 5, 0, create_color(87, 13, 255)) # Now compare the transformed image returned by the filter with the # expected image, one pixel at a time. combined_img = combine(red_img, green_img, blue_img) for x, y, col in combined_img: # col is the Color object for the pixel @ (x,y) # There's no need to unpack that object into # RGB components. check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_detect_edge() -> None: """ >>> test_detect_edge() Checking pixel @(0, 0) PASSED ------ Checking pixel @(1, 0) PASSED ------ Checking pixel @(2, 0) PASSED ------ Checking pixel @(3, 0) PASSED ------ Checking pixel @(4, 0) PASSED ------ Checking pixel @(0, 1) PASSED ------ Checking pixel @(1, 1) PASSED ------ Checking pixel @(2, 1) PASSED ------ Checking pixel @(3, 1) PASSED ------ Checking pixel @(4, 1) PASSED ------ >>> test_edge() Checking pixel @(0, 0) PASSED ------ Checking pixel @(1, 0) FAILED: expected Color(red=255, green=255,\ blue=255), got Color(red=0, green=0, blue=0) ------ Checking pixel @(2, 0) PASSED ------ Checking pixel @(3, 0) PASSED ------ Checking pixel @(4, 0) PASSED ------ Checking pixel @(0, 1) PASSED ------ Checking pixel @(1, 1) PASSED ------ Checking pixel @(2, 1) PASSED ------ Checking pixel @(3, 1) PASSED ------ Checking pixel @(4, 1) PASSED ------ """ original = create_image(5, 2) set_color(original, 0, 1, create_color(10, 30, 3)) set_color(original, 1, 1, create_color(67, 90, 1)) set_color(original, 2, 1, create_color(0, 2, 20)) set_color(original, 3, 1, create_color(189, 53, 222)) set_color(original, 4, 1, create_color(145, 136, 198)) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(0, 10, 1)) set_color(original, 2, 0, create_color(127, 127, 127)) set_color(original, 3, 0, create_color(125, 73, 224)) set_color(original, 4, 0, create_color(254, 255, 255)) expected = create_image(5, 2) set_color(expected, 0, 1, create_color(10, 30, 3)) set_color(expected, 1, 1, create_color(67, 90, 1)) set_color(expected, 2, 1, create_color(0, 2, 20)) set_color(expected, 3, 1, create_color(189, 53, 222)) set_color(expected, 4, 1, create_color(145, 136, 198)) set_color(expected, 0, 0, create_color(255, 255, 255)) set_color(expected, 1, 0, create_color(0, 0, 0)) set_color(expected, 2, 0, create_color(0, 0, 0)) set_color(expected, 3, 0, create_color(255, 255, 255)) set_color(expected, 4, 0, create_color(0, 0, 0)) # threshold is 15 edge = detect_edges(original, 15) for x, y, col in edge: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected, x, y))
def test_two_tone() -> None: """ Developed by Ahmed Abdellah, 101163588 Reviewed by Karandev Andotra, 101141882 Test whether two_tone function pass or fail. >>> test_two_tone() """ original = create_image(6, 1) set_color(original, 0, 0, create_color(0, 0, 0)) set_color(original, 1, 0, create_color(52, 37, 42)) set_color(original, 2, 0, create_color(127, 127, 127)) set_color(original, 3, 0, create_color(128, 128, 128)) set_color(original, 4, 0, create_color(125, 73, 224)) set_color(original, 5, 0, create_color(255, 255, 255)) expected_wb = create_image(6, 1) set_color(expected_wb, 0, 0, create_color(0, 0, 0)) set_color(expected_wb, 1, 0, create_color(0, 0, 0)) set_color(expected_wb, 2, 0, create_color(0, 0, 0)) set_color(expected_wb, 3, 0, create_color(255, 255, 255)) set_color(expected_wb, 4, 0, create_color(255, 255, 255)) set_color(expected_wb, 5, 0, create_color(255, 255, 255)) expected_rl = create_image(6, 1) set_color(expected_rl, 0, 0, create_color(255, 0, 0)) set_color(expected_rl, 1, 0, create_color(255, 0, 0)) set_color(expected_rl, 2, 0, create_color(255, 0, 0)) set_color(expected_rl, 3, 0, create_color(0, 255, 0)) set_color(expected_rl, 4, 0, create_color(0, 255, 0)) set_color(expected_rl, 5, 0, create_color(0, 255, 0)) expected_by = create_image(6, 1) set_color(expected_by, 0, 0, create_color(0, 0, 255)) set_color(expected_by, 1, 0, create_color(0, 0, 255)) set_color(expected_by, 2, 0, create_color(0, 0, 255)) set_color(expected_by, 3, 0, create_color(255, 255, 0)) set_color(expected_by, 4, 0, create_color(255, 255, 0)) set_color(expected_by, 5, 0, create_color(255, 255, 0)) expected_cm = create_image(6, 1) set_color(expected_cm, 0, 0, create_color(0, 255, 255)) set_color(expected_cm, 1, 0, create_color(0, 255, 255)) set_color(expected_cm, 2, 0, create_color(0, 255, 255)) set_color(expected_cm, 3, 0, create_color(255, 0, 255)) set_color(expected_cm, 4, 0, create_color(255, 0, 255)) set_color(expected_cm, 5, 0, create_color(255, 0, 255)) expected_gb = create_image(6, 1) set_color(expected_gb, 0, 0, create_color(128, 128, 128)) set_color(expected_gb, 1, 0, create_color(128, 128, 128)) set_color(expected_gb, 2, 0, create_color(128, 128, 128)) set_color(expected_gb, 3, 0, create_color(0, 0, 0)) set_color(expected_gb, 4, 0, create_color(0, 0, 0)) set_color(expected_gb, 5, 0, create_color(0, 0, 0)) two_tone_image = two_tone(original, "black", "white") for x, y, col in two_tone_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_wb, x, y)) two_tone_image = two_tone(original, "red", "lime") for x, y, col in two_tone_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_rl, x, y)) two_tone_image = two_tone(original, "blue", "yellow") for x, y, col in two_tone_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_by, x, y)) two_tone_image = two_tone(original, "cyan", "magenta") for x, y, col in two_tone_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_cm, x, y)) two_tone_image = two_tone(original, "gray", "black") for x, y, col in two_tone_image: check_equal('Checking pixel @(' + str(x) + ', ' + str(y) + ')', col, get_color(expected_gb, x, y))
def test_filter_edge_better() -> None: """ Tests if the filter code implemented correctly and Prints True for the function, test_filter_edge_better(), for all the expected colour of pixels on the image passed. >>> test_filter_edge_better() test_edge_better(image) PASSED By Justin Park 101013156 """ original_image = Image(choose_file()) new_image = copy(original_image) show(new_image) threshold = int( input("Please enter the threshold value(In positive integer): ")) edged_image = detect_edges_better(original_image, threshold) show(edged_image) count = 0 # Only two colours to be used black = create_color(0, 0, 0) white = create_color(255, 255, 255) # determine the width and height of the image pixel_width = get_width(original_image) pixel_height = get_height(original_image) # Pixel color change for all rows except the last row for x in range(pixel_width - 1): # last column must be all white for y in range(pixel_height - 1): # Last row must be all white (r1, g1, b1) = get_color(new_image, x, y) # RGB components of the top pixel (r2, g2, b2) = get_color(new_image, x, y + 1) # RGB components of the bottom pixel (r3, g3, b3) = get_color(new_image, x + 1, y) # RGB components of the bottom pixel (r4, g4, b4) = get_color(edged_image, x, y) # RGB components of the top pixel (r5, g5, b5) = get_color(edged_image, x, y + 1) # RGB components of the bottom pixel (r6, g6, b6) = get_color(edged_image, x + 1, y) # RGB components of the bottom pixel top_orig_brightness = (r1 + g1 + b1) // 3 bottom_orig_brightness = (r2 + g2 + b2) // 3 right_orig_brightness = (r3 + g3 + b3) // 3 top_edged_brightness = (r1 + g1 + b1) // 3 bottom_edged_brightness = (r2 + g2 + b2) // 3 right_edged_brightness = (r3 + g3 + b3) // 3 orig_contrasted_diff_1 = abs(top_orig_brightness - bottom_orig_brightness) orig_contrasted_diff_2 = abs(top_orig_brightness - right_orig_brightness) edged__contrasted_diff_1 = abs(top_edged_brightness - bottom_edged_brightness) edged__contrasted_diff_2 = abs(top_edged_brightness - right_edged_brightness) # Count num of pixels that two comparing pixels of images are not identical if orig_contrasted_diff_1 != edged__contrasted_diff_1 or orig_contrasted_diff_2 != edged__contrasted_diff_2: count += 1 actual = count expected = 0 check_equal("test_edge_better(image)", actual, expected)