示例#1
0
def show_difference(pic_file_path, actual, difference):
    the_image = cv2.imread(pic_file_path, 0)
    the_image = Image.resize_keeping_ratio_by_height(the_image)
    # Display.image(the_image)

    actual_number_indexs, actual_digits, actual_number_ragions = actual
    if difference:
        identified_number_ragions = identify_wrong_number(actual_number_ragions, difference, False)
        # identified_number_ragions = identify_wrong_number(actual_number_ragions, difference)
    else:
        identified_number_ragions = actual_number_ragions
    all_number_ragion = join_number_ragions(actual_number_indexs, identified_number_ragions)
    all_number_ragion = numpy_helper.transfer_values_quickly(all_number_ragion,{1:255})
    # all_number_ragion = Image.colorize(all_number_ragion)
    # Display.image(all_number_ragion)

    if difference:
        wrong_number_ragions = generate_wrong_number_ragions(difference)
        wrong_number_ragion = join_number_ragions(actual_number_indexs, wrong_number_ragions)
        wrong_number_ragion = Image.resize_keeping_ratio_by_height(wrong_number_ragion, all_number_ragion.shape[0])
        wrong_number_ragion = numpy_helper.transfer_values_quickly(wrong_number_ragion,{1:255})

        # Display.image(Ragions.join((all_number_ragion, wrong_number_ragion), 1))
        # Display.ragions([the_image, all_number_ragion, wrong_number_ragion])
        Display.images([Ragions.join((all_number_ragion, wrong_number_ragion),1), the_image])
    else:
        Display.images([all_number_ragion, the_image])
示例#2
0
def identify_wrong_number(number_ragions, difference, show_actual=True):
    all_number_images = generate_number_images()
    identified_number_ragions = number_ragions[:]
    for index,_,actual in difference:
        height, width = number_ragions[index].shape
        if show_actual:
            number_ragions[index] = Image.resize_keeping_ratio_by_height(all_number_images[actual], height)
            height, width = number_ragions[index].shape
        identified_number_ragions[index] = Ragion.fill(number_ragions[index], (height+2, width+2), 1)
    return identified_number_ragions
示例#3
0
    all_names = filter(lambda name: name.startswith(PERFORM_PREFIX), globals())
    for index, name in enumerate(all_names):
        window_name = name[len(PERFORM_PREFIX):]
        method = globals()[name]
        show_window(the_image, window_name, index, perform_func=method)

    control_name = filter(lambda name: name.startswith(CONTROL_NAME), globals())[0]
    show_window(the_image, control_name, len(all_names), perform_func=None, control_func=globals()[control_name])

    cv2.waitKey(0)
    cv2.destroyAllWindows()

def draw_text(the_image, the_text):
    cv2.putText(the_image, the_text, (20,20), cv2.FONT_HERSHEY_PLAIN, 1.0, (0,255,0))



if __name__ == '__main__':
    from minitest import *
    image_path = './original.jpg'
    color_image = cv2.imread(image_path)
    gray_image = cv2.imread(image_path, 0)
    color_image = Image.resize_keeping_ratio_by_height(color_image)
    gray_image = Image.resize_keeping_ratio_by_height(gray_image)

    with test("blurring"):
        # show_simple_blurring(color_image)
        show_all(color_image)
        pass