def GenerateImgs(self, count, textsFile, imgType="PURE", noiseMode="Imgaug"): #type: PURE, NOISE texts = IOUtils.LoadTexts(textsFile) tImages = [] tNumLabels = [] tCharLabels = [] textsSize = len(texts) textID = [] parmID = [] logging.info("Processing. Start to generate bin text images.") logging.info("Processing. Texts number: %d", textsSize) logging.info("Processing. Images number: %d", count) logging.info("Processing. Size of pramaters: %d", len(self.parms)) for i in range(textsSize): textID.append(i) parmID.append(random.randint(0, len(self.parms) - 1)) for i in range(count): if i % textsSize == 0: random.shuffle(textID) idx = i % textsSize textId = textID[idx] parmId = parmID[idx] font = FT(self.parms[parmId]) if (not (imgType == "PURE")) and self.hasTemplate: resImage, resLabel, resState = self.GenerateImg( 32, 32, 32, 5, 5, font, texts[textId], True, noiseMode) else: resImage, resLabel, resState = self.GenerateImg( 32, 32, 32, 5, 5, font, texts[textId], False, ) if resState is True: tImages.append(resImage) tNumLabels.append(resLabel) tCharLabels.append(texts[textId]) else: random.shuffle(textID) if i % 100 == 0: logging.info("Prosessing. %d images have been generated.", i) return tImages, tNumLabels, tCharLabels