Example #1
0
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
Example #2
0
    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()))