当前位置: 首页 > article >正文

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

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

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

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

Paddle OCR 中英文检测识别

具体实现代码如下:

#-*-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)

示例如下:

 ​​​​​​

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

数据可以如此美好!


http://www.kler.cn/a/449199.html

相关文章:

  • 汽车IVI中控开发入门及进阶(46):FFmpeg
  • Android使用PorterDuffXfermode模式PorterDuff.Mode.SRC_OUT橡皮擦实现“刮刮乐”效果,Kotlin(2)
  • AOP 面向切面编程的实现原理
  • 如何解决vscode powershell乱码
  • CCF-GESP 等级考试 2023年9月认证C++一级真题解析
  • 安装milvus以及向量库增删改操作
  • PostgreSQL编译安装教程
  • C++ 的IO流
  • 如何找到一篇文献/论文/会议的引用,以及分清自己使用的引用格式
  • 20241230 机器学习ML -(1)线性回归(scikitlearn)
  • 标贝科技受邀出席2024ADD数据应用场景大会 共议数据要素发展新契机
  • 基于SSM+Vue的心理咨询问诊系统+LW示例参考
  • 基于Vue.js和SpringBoot的笔记记录分享网站的设计与实现(文末附源码)
  • PHP 新手教程:从入门到构建简单网页
  • 感知机与逻辑回归的异同点
  • 【CDN】快速了解CDN是什么?以及工作原理和应用场景
  • 事件响应基本流程
  • Why SAP TM?
  • 《深入浅出 Servlet:Java Web 开发的基石》(一)
  • Adversarial Machine Learning(对抗机器学习)
  • 【国产NI替代】基于STM32+FPGA的8振动+4温度(16bits)数据采集板卡解决方案,支持全国产
  • [创业之路-207]:《华为战略管理法-DSTE实战体系》- 6-什么是目标管理、什么是过程管理、什么是闭环管理?
  • Docker 入门:如何使用 Docker 容器化 AI 项目(一)
  • 排序-冒泡排序
  • 深入探索Flink的复杂事件处理CEP
  • 2009年408真题解析-数据结构篇(未完)