コード例 #1
0
def highlight_each_cc_driver(file, verbose=False, min_size=-1):
    s = time.perf_counter()

    cc_im = CC.CC_Image(file, verbose)

    if (min_size == -1):
        min_size = .0001 * cc_im.original.size / 3
        print("No minimum component size given, defaulting to .01%: " +
              str(min_size) + " pixels")

    gray_img = cc_im.rgb_to_gray(deepcopy(cc_im.original))
    binary_img = cc_im.gray_to_binary(gray_img)
    labels = cc_im.remove_small_ccs(cc_im.two_pass_cc(binary_img), min_size)
    colored_img, color_dict = cc_im.color_all_ccs(labels)

    cc_count = cc_im.number_of_ccs(labels)

    unique_labels = np.unique(labels)

    ul_len = len(unique_labels)

    t = time.perf_counter()

    components = []

    for i, x in enumerate(
            np.delete(unique_labels, np.argwhere(unique_labels == 0))):

        img = cc_im.highlight_one_cc(labels, colored_img, x)
        components.append(img)

    global img_counter

    fig = plt.figure()
    fig.canvas.set_window_title("Component # " + str(img_counter))
    fig.canvas.mpl_connect(
        'key_press_event', lambda event: change_component_with_key(
            event.key, fig, components, colored_img, cc_im.original))

    print("Highlight all CC's:", '%.6f' % (time.perf_counter() - t))

    plt.subplot(1, 3, 1)
    plt.imshow(cc_im.original)
    plt.axis('off')

    plt.subplot(1, 3, 2)
    plt.imshow(colored_img)
    plt.axis('off')

    plt.subplot(1, 3, 3)
    plt.imshow(components[img_counter])
    plt.axis('off')

    #img_counter += 1

    print("Full runtime:", '%.6f' % (time.perf_counter() - s))
    print("Found " + str(cc_count) + " connected components")

    plt.show()
    return
コード例 #2
0
def rgb_to_ccs_driver(file, verbose=False, min_size=-1):
    s = time.perf_counter()

    cc_im = CC.CC_Image(file, verbose)

    if (min_size == -1):
        min_size = .0001 * cc_im.original.size / 3
        print("No minimum component size given, defaulting to .01%: " +
              '%.6f' % (min_size) + " pixels")

    gray_img = cc_im.rgb_to_gray(deepcopy(cc_im.original))
    binary_img = cc_im.gray_to_binary(gray_img)
    labels = cc_im.remove_small_ccs(cc_im.two_pass_cc(binary_img), min_size)
    colored_img, color_dict = cc_im.color_all_ccs(labels)

    plt.subplot(2, 2, 1)
    plt.imshow(cc_im.original)
    plt.axis('off')

    plt.subplot(2, 2, 2)
    plt.imshow(gray_img, cmap="gray")
    plt.axis('off')

    plt.subplot(2, 2, 3)
    plt.imshow(binary_img, cmap="gray")
    plt.axis('off')

    plt.subplot(2, 2, 4)
    plt.imshow(colored_img)
    plt.axis('off')

    print("Full runtime:", '%.6f' % (time.perf_counter() - s))
    print("Found " + str(cc_im.number_of_ccs(labels)) +
          " connected components")
    plt.show()
    return