# negative.py, by chaynes@indiana.edu import image def negative_image(matrix): """Return a new matrix that is the negative image of the given matrix.""" answer = [] for i in range(len(matrix)): row = [] answer.append(row) for j in range(len(matrix[0])): pixel = matrix[i][j] new_pixel = negative_pixel(pixel) row.append(new_pixel) return answer def negative_pixel(pixel): red = pixel[0] green = pixel[1] blue = pixel[2] return (255 - red, 255 - green, 255 - blue) def main(): """Show a negative image of the bonsai picture.""" m = image.read('bonsai.jpg') image.new(m).show() im = image.new(negative_image(m)) im.show() if __name__ == '__main__': main()