def test(name, ckpt, image_pack_name=None, output_filename=None): external_image = image_pack_name.index('.') != -1 if image_pack_name is None: data = None elif not external_image: data = load_data(image_pack_name.split(',')) with get_session() as sess: fcn = FCN(sess=sess, name=name) if ckpt != "-1": fcn.load(ckpt) else: fcn.load_absolute(name) if not external_image: errors, _, _, _, ret, conf = fcn.test(scales=[0.5], summary=True, summary_key=123, data=data, eval_speed=False, visualize=True) if output_filename is not None: with open('outputs/%s.pkl' % output_filename, 'wb') as f: pickle.dump(ret, f) with open('outputs/%s_err.pkl' % output_filename, 'wb') as f: pickle.dump(errors, f) with open('outputs/%s_conf.pkl' % output_filename, 'wb') as f: pickle.dump(conf, f) print ret print 'results dumped' else: img = cv2.imread(image_pack_name) # reverse gamma correction for sRGB img = (img / 255.0)**2.2 * 16384 images = [img] fcn.test_external(images=images, fns=[image_pack_name])
if __name__ == '__main__': target_dir = sys.argv[1] if len(sys.argv) > 2: start_ind = int(sys.argv[2]) else: start_ind = 0 image_dir = osp.join(target_dir, "*") print(image_dir) imgpaths = glob(image_dir)[start_ind:] print(len(imgpaths)) save_dir = osp.join(osp.dirname(target_dir), osp.basename(target_dir) + "_colorcorrected") print(save_dir) ckpt = "pretrained/colorchecker_fold1and2.ckpt" with get_session() as sess: fcn = FCN(sess=sess, name=ckpt) fcn.load_absolute(ckpt) errors = test_external(fcn, imgpaths=imgpaths, save_prefix=save_dir, show=False, write_compare=False) with open(osp.join(target_dir, "errored_images.txt"), "w") as f: for p in errors: f.write(p)