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]
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]
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()
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()