PaddleOCR

PaddleOCR

不完全代码

# !/user/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import cv2

sys.path.append('I:/PaddleOCR/tools/infer/')
sys.path.append('I:/PaddleOCR/')
from PyQt5.QtCore import QRect, QPoint

import argparse
from predict_system import *

def get_args(image_file):
    def str2bool(v):
        return v.lower() in ("true", "t", "1")

    parser = argparse.ArgumentParser()
    # params for prediction engine
    parser.add_argument("--use_gpu", type=str2bool, default=False)
    parser.add_argument("--ir_optim", type=str2bool, default=True)
    parser.add_argument("--use_tensorrt", type=str2bool, default=False)
    parser.add_argument("--gpu_mem", type=int, default=8000)

    # params for text detector
    parser.add_argument("--image_dir", type=str, default=image_file)
    parser.add_argument("--det_algorithm", type=str, default='DB')
    parser.add_argument("--det_model_dir", type=str, default='I:/PaddleOCR/inference/ch_det_mv3_db/')
    parser.add_argument("--det_max_side_len", type=float, default=960)

    # DB parmas
    parser.add_argument("--det_db_thresh", type=float, default=0.3)
    parser.add_argument("--det_db_box_thresh", type=float, default=0.5)
    parser.add_argument("--det_db_unclip_ratio", type=float, default=2.0)

    # EAST parmas
    parser.add_argument("--det_east_score_thresh", type=float, default=0.8)
    parser.add_argument("--det_east_cover_thresh", type=float, default=0.1)
    parser.add_argument("--det_east_nms_thresh", type=float, default=0.2)

    # params for text recognizer
    parser.add_argument("--rec_algorithm", type=str, default='CRNN')
    parser.add_argument("--rec_model_dir", type=str, default='I:/PaddleOCR/inference/ch_rec_mv3_crnn/')
    parser.add_argument("--rec_image_shape", type=str, default="3, 32, 320")
    parser.add_argument("--rec_char_type", type=str, default='ch')
    parser.add_argument("--rec_batch_num", type=int, default=30)
    parser.add_argument(
        "--rec_char_dict_path",
        type=str,
        default="I:/PaddleOCR/ppocr/utils/ppocr_keys_v1.txt")
    parser.add_argument("--use_space_char", type=bool, default=True)
    parser.add_argument("--enable_mkldnn", type=bool, default=False)
    return parser.parse_args()


def search_text(image_file, find_text):
    args = get_args(image_file)
    text_sys = TextSystem(args)

    img = cv2.imread(image_file)
    starttime = time.time()
    dt_boxes, rec_res = text_sys(img)
    elapse = time.time() - starttime
    print("Predict time of %s: %.3fs" % (image_file, elapse))

    point_list = []
    dt_num = len(dt_boxes)
    for dno in range(dt_num):
        text, score = rec_res[dno]
        if score >= 0.5 and text.find(find_text) != -1:
            points = dt_boxes[dno]
            w = points[1][0] - points[0][0]
            h = points[2][1] - points[1][1]
            rect = QRect(points[0][0], points[0][1], w, h)
            point_list.append(rect.center())

    return point_list

参考

开源地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值