def train_ticket(filepath): scale, maxScale = IMGSIZE[0], 2048 from run.text.keras_detect import text_detect from run.main import TextOcrModel angle_detect = None model = TextOcrModel(ocr, text_detect, angle_detect) img = cv.imread(filepath) result, angle = model.model( img, scale=scale, maxScale=maxScale, detectAngle=False, ##是否进行文字方向检测 MAX_HORIZONTAL_GAP=100, ##字符之间的最大间隔 MIN_V_OVERLAPS=0.6, MIN_SIZE_SIM=0.6, TEXT_PROPOSALS_MIN_SCORE=0.1, TEXT_PROPOSALS_NMS_THRESH=0.3, TEXT_LINE_NMS_THRESH=0.99, ##iou值 LINE_MIN_SCORE=0.1, leftAdjustAlph=0.01, ## rightAdjustAlph=0.01, ## ) res = trainTicket.trainTicket(result) res = res.res res = [{'text': res[key], 'name': key, 'box': {}} for key in res] return res
model = TextOcrModel(ocr, text_detect, angle_detect) # arguments textAngle = False # load image img = cv2.imread(args["image_file"]) # predict detectAngle = textAngle result, angle = model.model( img, scale=scale, maxScale=maxScale, detectAngle=detectAngle, ##是否进行文字方向检测,通过web传参控制 MAX_HORIZONTAL_GAP=100, ##字符之间的最大间隔,用于文本行的合并 MIN_V_OVERLAPS=0.6, MIN_SIZE_SIM=0.6, TEXT_PROPOSALS_MIN_SCORE=0.1, TEXT_PROPOSALS_NMS_THRESH=0.3, TEXT_LINE_NMS_THRESH=0.99, ##文本行之间测iou值 LINE_MIN_SCORE=0.1, leftAdjustAlph=0.01, ##对检测的文本行进行向左延伸 rightAdjustAlph=0.01, ##对检测的文本行进行向右延伸 ) res = idcard.idcard(result) # res.res 是idcard类的一个用于存放各类信息集合的列表属性 res = res.res res = [{'text': res[key], 'attribute': key, 'box': {}} for key in res] print(res) fps.stop() print("[INFO] elasped time: {:.2f}".format(fps.elapsed()))