示例#1
0
def get_mask(image):
    """
    Get the polygon referent to the piece of image that we want to delete. And we convert it into
    a mask.
    :param image: Image where we want to delete something
    :return: mask with the piece of image that we want to delete
    """
    # Getting the area to delete from the image
    rdi = interactive.get_mouse_click(image)
    polygon = rdi.points
    # Getting the deleting mask
    return interactive.compute_mask(image.shape[1], image.shape[0], polygon)
示例#2
0
           [-1, 0, 1]]

# Vertical derivative approximations
sobel_y = [[1, 2, 1],
           [0, 0, 0],
           [-1, -2, -1]]

# Loading image
image = np.array(Image.open('agbar.png'))

# Getting the area to delete from the image
rdi = interactive.get_mouse_click(image)
polygon = rdi.points

# Getting the deleting mask
mask = interactive.compute_mask(image.shape[1], image.shape[0], polygon)

# Image to grayscale
gray_image = np.mean(image, 2) / 255.

# Calculating the gradient image
gradient_image = np.sqrt(np.power(sg.convolve2d(gray_image, sobel_x, "same"), 2) +
                         np.power(sg.convolve2d(gray_image, sobel_y, "same"), 2))

# Adjusting the values gradient mask indexes to -100
gradient_image[mask == 1] = -100.

# Calculating the M minimum energy matrix
minimum_energy_m = np.zeros(gradient_image.shape)
minimum_energy_m[0, :] = gradient_image[0, :]