def train(): # imgUrl = request.args.get('imageUrl', '') # splited = imgUrl.split('/') # imgName = splited[len(splited)-1] # imgPath = _util.getImagePath(imgName) session_id = request.args.get('session_id', 0) imageUrl = request.args.get('imageUrl', '') # only for debugging purposes pixDeg = request.args.get('pixDeg', 1) leakgDeg = request.args.get('leakgDeg', 0) leakdDeg = request.args.get('leakdDeg', 0) spotMaxNum = request.args.get('spotMaxNum', 15) spotNumVariance = request.args.get('spotNumVariance', 10) spotBaseColor = request.args.get('spotBaseColor', '#FF0000') spotBaseColorRGB = _util.hex_to_rgb(spotBaseColor) spotColorVariance = request.args.get('spotColorVariance', 20) spotBlur = request.args.get('spotBlur', 0) spotNoise = request.args.get('spotNoise', 0) paperColor = request.args.get('paperColor', '#5C1C56') paperColorRGB = _util.hex_to_rgb(paperColor) # Draw Image with actual training text text = request.args.get('text', trainingText) drawer = _create_image.ImageDrawer(text, _util.size_training) path = drawer.drawImage() # Note we re-assign # Get filename and absolute imgPath splited = path.split('/') filename = splited[len(splited)-1] poorTyper = _process_image.ImagePoortyper(filename, trainingText=trainingText, trainingSize=_util.size_training, isFadeGeneral=False, isFadeShallow=True, isLeakDown=True, leakDeg=leakgDeg, leakHeight=leakdDeg, spotMaxNum=spotMaxNum, spotNumVariance=spotNumVariance, spotBaseColor=spotBaseColorRGB, spotColorVariance=spotColorVariance, spotBlur=spotBlur, spotNoise=spotNoise, paperColor=paperColorRGB) filename_rendered = poorTyper.render() pixelator = _process_image.ImagePixelator(filename_rendered) filename_rendered_pixed = pixelator.pixelate(degree=pixDeg) imgPath = _util.getImagePath(filename_rendered_pixed) thisRender = ( session_id, path, #'imageUrl' pixDeg, #'pixDeg' leakgDeg, #'leakgDeg' leakdDeg, #'leakdDeg' spotMaxNum, #'spotMaxNum' spotNumVariance, #'spotNumVariance' spotBaseColor, #'spotBaseColor' spotColorVariance, #'spotColorVariance' spotBlur, #'spotBlur' spotNoise, #'spotNoise' paperColor, #'paperColor' filename, #'filename' 'TRAIN', # 'action' ) _util.saveRenderToDB(thisRender) trainer = _train_tesseract.Trainer(imgPath) # absolute path traineddataPath = trainer.train() if (traineddataPath is not None): return jsonify(status='success', result=url_for('static',filename=traineddataPath)) return jsonify(status='fail')