Ejemplo n.º 1
0
Archivo: fc4.py Proyecto: zyqgmzyq/fc4
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])
Ejemplo n.º 2
0
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)