Пример #1
0
def find_closest_auto(demofile, new_xyz):
    if args.parallel:
        from joblib import Parallel, delayed
    demo_clouds = [asarray(seg["cloud_xyz"]) for seg in demofile.values()]
    keys = demofile.keys()
    if args.parallel:
        costs = Parallel(n_jobs=3,verbose=100)(delayed(registration_cost)(demo_cloud, new_xyz) for demo_cloud in demo_clouds)
    else:
        costs = []
        for (i,ds_cloud) in enumerate(demo_clouds):
            costs.append(registration_cost(ds_cloud, new_xyz))
            print "completed %i/%i"%(i+1, len(demo_clouds))
    
    print "costs\n",costs
    if args.show_neighbors:
        nshow = min(5, len(keys))
        import cv2, rapprentice.cv_plot_utils as cpu
        sortinds = np.argsort(costs)[:nshow]
        near_rgbs = [asarray(demofile[keys[i]]["rgb"]) for i in sortinds]
        bigimg = cpu.tile_images(near_rgbs, 1, nshow)
        cv2.imshow("neighbors", bigimg)
        print "press any key to continue"
        cv2.waitKey()
        
    ibest = np.argmin(costs)
    return keys[ibest]
Пример #2
0
def find_closest_auto(demofile, new_xyz):
    if args.parallel:
        from joblib import Parallel, delayed
    demo_clouds = [asarray(seg["cloud_xyz"]) for seg in demofile.values()]
    keys = demofile.keys()
    if args.parallel:
        costs = Parallel(n_jobs=3, verbose=100)(
            delayed(registration_cost)(demo_cloud, new_xyz)
            for demo_cloud in demo_clouds)
    else:
        costs = []
        for (i, ds_cloud) in enumerate(demo_clouds):
            costs.append(registration_cost(ds_cloud, new_xyz))
            print "completed %i/%i" % (i + 1, len(demo_clouds))

    print "costs\n", costs
    if args.show_neighbors:
        nshow = min(5, len(keys))
        import cv2, rapprentice.cv_plot_utils as cpu
        sortinds = np.argsort(costs)[:nshow]
        near_rgbs = [asarray(demofile[keys[i]]["rgb"]) for i in sortinds]
        bigimg = cpu.tile_images(near_rgbs, 1, nshow)
        cv2.imshow("neighbors", bigimg)
        print "press any key to continue"
        cv2.waitKey()

    ibest = np.argmin(costs)
    return keys[ibest]
Пример #3
0
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("h5file")
parser.add_argument("--pattern")
args = parser.parse_args()

import h5py
import rapprentice.cv_plot_utils as cpu
import numpy as np
import cv2
import fnmatch

hdf = h5py.File(args.h5file,"r")
all_imgnames = [(np.asarray(seg["rgb"]),name) for (name,seg) in hdf.items() if (args.pattern is None) or fnmatch.fnmatch(name, args.pattern)]

nrows = 7
chunksize = nrows**2



for i in xrange(0,len(all_imgnames),chunksize):
    imgnames = all_imgnames[i:i+chunksize]
    imgs = []
    for (img, name) in imgnames:
        cv2.putText(img, name,(30,30), cv2.FONT_HERSHEY_PLAIN, 3, (255, 0, 255), thickness = 3) 

        imgs.append(img)
    bigimg = cpu.tile_images(imgs, nrows, nrows)
    cv2.imshow("bigimg", bigimg)
    cv2.waitKey()
Пример #4
0
args = parser.parse_args()

import h5py
import rapprentice.cv_plot_utils as cpu
import numpy as np
import cv2
import fnmatch

hdf = h5py.File(args.h5file, "r")
all_imgnames = [
    (np.asarray(seg["rgb"]), name) for (name, seg) in hdf.items()
    if (args.pattern is None) or fnmatch.fnmatch(name, args.pattern)
]

nrows = 7
chunksize = nrows**2

for i in xrange(0, len(all_imgnames), chunksize):
    imgnames = all_imgnames[i:i + chunksize]
    imgs = []
    for (img, name) in imgnames:
        cv2.putText(img,
                    name, (30, 30),
                    cv2.FONT_HERSHEY_PLAIN,
                    3, (255, 0, 255),
                    thickness=3)

        imgs.append(img)
    bigimg = cpu.tile_images(imgs, nrows, nrows)
    cv2.imshow("bigimg", bigimg)
    cv2.waitKey()