예제 #1
0
파일: manager.py 프로젝트: jdemaeyer/fire
 def process(self, configfile, infiles, overwrite = False):
     self.loadconfig(configfile)
     for infile in infiles:
         infile = os.path.abspath(infile)
         if not overwrite:
             ename = self.check_skip(infile, self.exportsteps)
             if ename is not None:
                 logger.warning(
                     ("Skipping '{}', rejected by exporter '{}'. Set "
                      "overwrite = True to ignore.").format(infile, ename))
                 continue
         logger.info("Processing '{}'".format(infile))
         try:
             img = self.loadimage(infile)
         except IOError, fire.errors.ImageCannotBeLoadedError:
             logger.error("Unable to load '{}'".format(infile))
             continue
         img = self.preprocess(img, self.preprocsteps)
         # DEBUG
         #import numpy as np
         #np.save("testdata/img_preproc_cropped.npy", img)
         #from fire.debug import showimg, saveimg
         #showimg(img)
         #exit()
         #saveimg("testdata/img_preproc_cropped.png", img)
         detected = self.processchain(img, self.procsteps)
         self.export(infile, detected, self.exportsteps)
예제 #2
0
 def __call__(self, img, channel = None):
     if len(img.shape) == 2:
         logger.warning(("Greyscale preprocessor received greyscale image, "
                         "doing nothing."))
         return img
     if channel is None:
         return self.mh.colors.rgb2grey(img)
     else:
         return img[:,:,channel]