PaddleOCR 的使用,极简介绍

安装

参考github的官网就可以:

github链接

简单的说,就是两句话:

python3 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple

pip install "paddleocr>=2.0.1" # 推荐使用2.0.1+版本

Python下的使用

from paddleocr import PaddleOCR
import cv2
import numpy as np
if __name__=="__main__":

    ocr = PaddleOCR(use_angle_cls=True, use_gpu=True,ocr_version='PP-OCRv4')
    img_path = r'F:\dataset\images\1.bmp'
    img=cv2.imread(img_path)
    result = ocr.ocr(img, cls=True)[0]
    for line in result:
        list_points=line[0]
        str_data,conf=line[1]
        pts = np.array(list_points, np.int32)
        pts = pts.reshape((-1, 1, 2))
        cv2.polylines(img, [pts], isClosed=True, color=(0, 255, 255), thickness=1)
        cv2.imshow("img",img)
        cv2.waitKey(0)

这里面包括了图片的读取,推理过程,还有检测框的显示。

如果想对每一个字符都做框选,可以多写几句画,把每个框都拆出来。

from paddleocr import PaddleOCR
import cv2
import numpy as np

def getm(p):
    res=math.sqrt(p[0]*p[0]+p[1]*p[1])
    return res

if __name__=="__main__":
    ocr = PaddleOCR(use_angle_cls=True, use_gpu=True,ocr_version='PP-OCRv4')
    img_path = r'F:\dataset\images\1.bmp'
    img=cv2.imread(img_path)
    result = ocr.ocr(img, cls=True)[0]
    for line in result:
        list_points=line[0]
        str_data,conf=line[1]
        len_str=len(str_data)
        p0,p1,p2,p3=np.array(list_points)
        if getm(p0-p1)<getm(p1-p2):
            tmpp=p1
            p1=p2
            p2=p3
            p3=p0
            p0=tmpp
        for ic in range(len_str):
            p0_c=p0+(p1-p0)/len_str*ic
            p1_c=p0+(p1-p0)/len_str*(ic+1)
            p2_c=p3+(p2-p3)/len_str*(ic+1)
            p3_c=p3+(p2-p3)/len_str*(ic)
            list_ps=[p0_c,p1_c,p2_c,p3_c]
            pts = np.array(list_ps, np.int32)
            pts = pts.reshape((-1, 1, 2))
            cv2.polylines(img, [pts], isClosed=True, color=(0, 255, 255), thickness=1)
            cv2.imshow("img",img)
            cv2.waitKey(0)

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值