示例#1
0
def load_nvm_and_register_images(nvm_file, 
                                 images_path, 
                                 max_sleep_seconds,
                                 every_nth,
                                 single_image = None):

    cams, points, cams_mlab, points_mlab = mayaviu.load_and_plot_nvm_cams(nvm_file)    
    fig = mlab.gcf()
    # signal.signal(signal.SIGUSR1, plot_localized_image_after_signal(fig))

    # if single_image is not None:
    #     tmp_dir = 'tmp_im_dir'
    #     if not os.path.isdir(tmp_dir):
    #         os.mkdir(tmp_dir)
    #     shutil.copy(
    
    # signal.signal(signal.SIGUSR1, localized_image_signal)

    model = vsfm_model.create_from_nvm(nvm_file)
    vsfm_interface = vsfmu.vsfm_interface()
    vsfm_interface.sfm_more_less_visualization_data()
    
    image_files = ['{}/{}'.format(images_path, i) \
                      for i in os.listdir(images_path) if i.find('.jpg') > 0]
    image_basenames = sorted([os.path.basename(_) for _ in image_files])
    image_files = sorted([os.path.abspath(_) for _ in image_files])

    vsfm_interface.sfm_load_nview_match(nvm_file)
    vsfm_interface.view_image_thumbnails()

    mlab.show()
    rtst = rts_thread(vsfm_interface, 
                      nvm_file,
                      model, 
                      model_image_dir = '/home/nrhineha/dev/activity/data/kitchen_seq_x1',
                      image_files = image_files,
                      max_sleep_seconds = max_sleep_seconds)
    rtst.start()
    mlab.show()
    
    # seq = register_temporal_sequence(vsfm_interface, 
    #                                  nvm_file,
    #                                  model, 
    #                                  model_image_dir = '/home/nrhineha/dev/activity/data/kitchen_seq_x1',
    #                                  image_files = image_files,
    #                                  max_sleep_seconds = max_sleep_seconds)
    
    # cams, new_cams = register_image(vsfm_interface, image_files[0])

    # # vsfm_interface.sfm_delete_selected_camera()

    # near_cams= model.lookup_nearby_cameras(new_cams[0])
    # mfn = write_specified_match_file('/home/nrhineha/Desktop/test/loc2.jpg',
    #                                  near_cams, 
    #                                  '/home/nrhineha/dev/activity/data/kitchen_seq_x1')

    # register_image(vsfm_interface, images_path, image_files[1], image_basenames[1], match_specified_fn = os.path.abspath(mfn))
    
    ipdb.set_trace()
示例#2
0
def load_nvm_and_register_image(nvm_file, image_path, max_sleep_seconds = 30):
    # with gtkutils.color_printer.timer() as t:
        vsfm_interface = vsfmu.vsfm_interface()
        vsfm_interface.sfm_more_less_visualization_data()
        vsfm_interface.sfm_load_nview_match(nvm_file)                               
        cams, new_cams = register_image(vsfm_interface, image_path, max_sleep_seconds = max_sleep_seconds)
        if len(new_cams) > 0:
            print "camera position: {}".format(new_cams[0].camera_position)
        else:
            print "couldn't localize!"
示例#3
0
def sparse_reconstruction_from_image_dir(path):
    cur_dir = os.getcwd()
    bn = os.path.basename(path)
    print "basename", bn
    os.chdir(path)

    i = vsfmu.vsfm_interface()

    i.file_open_current_path()
    i.sfm_pairwise_compute_missing_match()
    i.sfm_reconstruct_sparse()

    i.sfm_save_nview_match(cur_dir + '/{}_sparse.nvm'.format(bn))

    pdb.set_trace()
import os, pdb, time
import vsfm_socket_util as vsfmu

example_dir = 'examples/kermit'
os.chdir(example_dir)

path_to_vsfm_bin = '/home/nrhineha/dev/vsfm/bin/VisualSFM'
i = vsfmu.vsfm_interface(vsfm_binary_fn = path_to_vsfm_bin)

# these will send commands over sockets and not wait... VSFM will process sequentially
i.file_open_current_path()
i.view_image_thumbnails()
i.sfm_pairwise_compute_missing_match()
i.sfm_reconstruct_sparse()
i.sfm_reconstruct_dense()
i.view_dense_3d_points()

print "entering pdb REPL for additional user commands"
pdb.set_trace()
# i.close()


import os, pdb, time
import vsfm_socket_util as vsfmu

example_dir = 'examples/kermit'
os.chdir(example_dir)

path_to_vsfm_bin = '/home/nrhineha/dev/vsfm/bin/VisualSFM'
i = vsfmu.vsfm_interface(vsfm_binary_fn=path_to_vsfm_bin)

# these will send commands over sockets and not wait... VSFM will process sequentially
i.file_open_current_path()
i.view_image_thumbnails()
i.sfm_pairwise_compute_missing_match()
i.sfm_reconstruct_sparse()
i.sfm_reconstruct_dense()
i.view_dense_3d_points()

print "entering pdb REPL for additional user commands"
pdb.set_trace()
# i.close()