示例#1
0
def plot_matching_descriptors(desc1, desc2, desc1_id, desc2_id, plt):
    """
  Plot a random set of matching descriptor patches
  """
    num_inliers = desc1_id.size
    num_ip, num_dims = desc1.shape
    patch_size = int(np.sqrt(num_dims))

    figsize0 = plt.rcParams['figure.figsize']

    N1, N2 = 1, 8
    plt.rcParams['figure.figsize'] = (16.0, N1 * 4.0)

    for i in range(N1):
        for j in range(N2):
            rnd = np.random.randint(0, num_inliers)

            desc1_rnd = desc1_id[rnd]
            desc2_rnd = desc2_id[rnd]

            desc1_im = np.reshape(desc1[desc1_rnd, :],
                                  (patch_size, patch_size))
            desc2_im = np.reshape(desc2[desc2_rnd, :],
                                  (patch_size, patch_size))

            ax = plt.subplot(2 * N1, N2, 2 * i * N2 + j + 1)
            plt.imshow(im_util.grey_to_rgb(im_util.normalise_01(desc1_im)))
            plt.axis('off')
            ax = plt.subplot(2 * N1, N2, 2 * i * N2 + N2 + j + 1)
            plt.imshow(im_util.grey_to_rgb(im_util.normalise_01(desc2_im)))
            plt.axis('off')

    plt.rcParams['figure.figsize'] = figsize0
示例#2
0
def plot_descriptors(desc, plt):
    """
  Plot a random set of descriptor patches
  """
    num_ip, num_dims = desc.shape
    patch_size = int(np.sqrt(num_dims))

    N1, N2 = 2, 8
    figsize0 = plt.rcParams['figure.figsize']
    plt.rcParams['figure.figsize'] = (16.0, 4.0)
    for i in range(N1):
        for j in range(N2):
            ax = plt.subplot(N1, N2, i * N2 + j + 1)
            rnd = np.random.randint(0, num_ip)
            desc_im = np.reshape(desc[rnd, :], (patch_size, patch_size))
            plt.imshow(im_util.grey_to_rgb(im_util.normalise_01(desc_im)))
            plt.axis('off')

    plt.rcParams['figure.figsize'] = figsize0