Beispiel #1
0
def recover_blue(image_remove_blue):
    RG_matrix, RG_record_matrix, RB_matrix, RB_record_matrix, GB_matrix, GB_record_matrix = csv_operation.import_csv(
    )

    image_recover_blue = copy.deepcopy(image_remove_blue)

    image_size = image_remove_blue.shape

    # num_channel = image_size[2]
    num_row = image_size[0]  # how many rows
    num_column = image_size[1]  # how many columns

    # initialize recoverd_red to store
    recovered_blue = np.zeros((num_row, num_column), dtype=np.int32)
    # for now, we recover the image except edge
    for i in np.arange(1, num_row - 1):
        for j in np.arange(1, num_column - 1):
            red_value = image_recover_blue[i, j, 0]
            green_value = image_recover_blue[i, j, 1]

            red_contrast = pixel_operation.rms_contrast(
                image_recover_blue, i, j, 0)
            green_contrast = pixel_operation.rms_contrast(
                image_recover_blue, i, j, 1)

            red_green_contrast_mean = (red_contrast + green_contrast) / 2

            RG_matrix_index = pixel_operation.contrast_index(
                red_green_contrast_mean)

            recovered_blue[i, j] = RG_matrix[green_value, red_value,
                                             RG_matrix_index]

    image_recover_blue[:, :, 2] = recovered_blue

    plt.imshow(image_recover_blue)
    plt.xticks([])
    plt.yticks([])

    return image_recover_blue
Beispiel #2
0
def recover_red(image_remove_red):
    RG_matrix, RG_record_matrix, RB_matrix, RB_record_matrix, GB_matrix, GB_record_matrix = csv_operation.import_csv(
    )

    image_recover_red = copy.deepcopy(image_remove_red)

    image_size = image_remove_red.shape

    # num_channel = image_size[2]
    num_row = image_size[0]  # how many rows
    num_column = image_size[1]  # how many columns

    # initialize recoverd_red to store
    recovered_red = np.zeros((num_row, num_column), dtype=np.int32)
    # for now, we recover the image except edge
    for i in np.arange(1, num_row - 1):
        for j in np.arange(1, num_column - 1):
            green_value = image_remove_red[i, j, 1]
            blue_value = image_remove_red[i, j, 2]

            green_contrast = pixel_operation.rms_contrast(
                image_remove_red, i, j, 1)
            blue_contrast = pixel_operation.rms_contrast(
                image_remove_red, i, j, 2)

            green_blue_contrast_mean = (green_contrast + blue_contrast) / 2

            GB_matrix_index = pixel_operation.contrast_index(
                green_blue_contrast_mean)

            recovered_red[i, j] = GB_matrix[blue_value, green_value,
                                            GB_matrix_index]

    image_recover_red[:, :, 0] = recovered_red

    plt.imshow(image_recover_red)
    plt.xticks([])
    plt.yticks([])

    return image_recover_red