def __init__(self, fontPath, dictPath, scales, degrees, templatePath=""):
     self.fontList = [
         osj(fontPath, font) for font in IOUtils.GetFilesList(fontPath)
     ]
     self.scales = scales
     self.degrees = degrees
     self.charDict = IOUtils.LoadDict(dictPath)
     self.parms = self.GenParms()
     self.hasTemplate = False
     if len(templatePath) != 0:
         self.hasTemplate = True
         self.templates = IOUtils.LoadTemplate(templatePath)
 def ComputeMeanStds(self):
     meanStds = []
     imagesList = IOUtils.GetFilesList(self.pathToTemplateImages)
     logging.info("Done. Load all template images: "+str(len(imagesList)))
     count = 0
     for imageName in imagesList:
         count += 1;
         if count % 10 == 0:
             logging.info("Processing. Compute mean & std: "+str(count))
         img = cv2.imread(osj(self.pathToTemplateImages,imageName))
         meanPre, stdPre, meanBack, stdBack = self.ComputeMeanStd(img)
         if(np.abs(meanPre-meanBack)<30):
             logging.warning("Processing. The values of background and foreground are close: %f", np.abs(meanPre-meanBack))
         tempmeanStd = [meanPre, stdPre, meanBack, stdBack]
         meanStds.append(tempmeanStd)
     return meanStds