Paddle OCR 中英文检测识别 - python 实现

DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。

需要更多数据资源和技术解决方案,知识星球: "DataBall - X 数据球(free)"

-----------------------------------------------------------------

Paddle OCR 中英文检测识别

具体实现代码如下:

python 复制代码
#-*-coding:utf-8-*-
# date:2024-12-22
# Author: DataBall - XIAN
# Function:  OCR 检测识别

import os
import cv2
import numpy as np
import time
from paddleocr import PaddleOCR

if __name__ == '__main__':

    if False: # 中文
        cls_model_dir='paddleModels/whl/cls/ch_ppocr_mobile_v2.0_cls_infer'
        rec_model_dir='paddleModels/whl/rec/ch/ch_PP-OCRv4_rec_infer'
        ocr = PaddleOCR(use_angle_cls=True, lang="ch", det=False,cls_model_dir=cls_model_dir,rec_model_dir=rec_model_dir)  # need to run only once to download and load model into memory
    else: # 英文
        # ocr = PaddleOCR(use_angle_cls=True, lang="en")
        cls_model_dir='paddleModels/whl/cls/en_ppocr_mobile_v2.0_cls_infer'
        rec_model_dir='paddleModels/whl/rec/ch/en/en_PP-OCRv4_rec_infer'
        ocr = PaddleOCR(use_angle_cls=True, lang="en", det=False,cls_model_dir=cls_model_dir,rec_model_dir=rec_model_dir)  # need to run only once to download and load model into memory
    img_path = "image/2.png"
    img = cv2.imread(img_path)
    result_det = ocr.ocr(img, cls=True)

    print(type(result_det))
    result_det = result_det[0]
    idx_ = 0
    for m_ in result_det:
        idx_ += 1
        bbox_,contant_ = m_
        print("[{}] bbox: {}, contant: {}".format(idx_,bbox_,contant_))
        pts = np.array(bbox_).astype(np.int32)
        pts = pts.reshape((-1,1,2))
        # 绘制区域
        cv2.polylines(img,[pts],True,(255,22,150),1)

    cv2.namedWindow("img",0)
    cv2.imshow("img",img)
    cv2.waitKey(0)
    cv2.imwrite("out.png",img)

示例如下:

​​​​​​

助力快速掌握数据集的信息和使用方式。

数据可以如此美好!

相关推荐
B站计算机毕业设计超人30 分钟前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
学术头条35 分钟前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客39 分钟前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
feifeikon42 分钟前
机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
人工智能·机器学习·线性回归
游客5201 小时前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(2)
人工智能·机器学习·sklearn
凡人的AI工具箱1 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
咸鱼桨2 小时前
《庐山派从入门到...》PWM板载蜂鸣器
人工智能·windows·python·k230·庐山派
强哥之神2 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai
yusaisai大鱼2 小时前
tensorflow_probability与tensorflow版本依赖关系
人工智能·python·tensorflow