PaddleOCR的rec如何裁剪数据

本文介绍了如何使用Python和OpenCV对PaddleOCR的训练数据进行裁剪。重点强调了train、test和val数据集需分三次运行代码,并注意相应的代码注释管理,以确保数据集划分的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下

要注意train,test,val是分三次运行代码的,每次要把对应的部分的代码注释去掉,剩下的部分用注释遮住,对应关系要正确


import json
import os
import numpy as np
import cv2


def get_rotate_crop_image(img, points):
    '''
    img_height, img_width = img.shape[0:2]
    left = int(np.min(points[:, 0]))
    right = int(np.max(points[:, 0]))
    top = int(np.min(points[:, 1]))
    bottom = int(np.max(points[:, 1]))
    img_crop = img[top:bottom, left:right, :].copy()
    points[:, 0] = points[:, 0] - left
    points[:, 1] = points[:, 1] - top
    '''
    assert len(points) == 4, "shape of points must be 4*2"
    # 求范数,得到宽度
    img_crop_width = int(
        max(
            np.linalg.norm(points[0] - points[1]),
            np.linalg.norm(points[2] - points[3])))
    # 求范数,得到高度
    img_crop_height = int(
        max(
            np.linalg.norm(points[0] - points[3]),
            np.linalg.norm(points[1] - points[
### PaddleOCR 模型框架概述 PaddleOCR 是基于百度飞桨(PaddlePaddle)开发的一套开源 OCR 工具包,提供了从数据预处理到模型部署的全流程支持。它涵盖了文本检测、文本识别以及关键信息提取等多个模块[^1]。 #### 训练流程详解 训练一个自定义的 PaddleOCR 模型通常涉及以下几个方面: - **环境准备**:安装必要的依赖库并配置 GPU 或 CPU 的运行环境。 - **数据集准备**:按照官方文档的要求整理标注好的图片和标签文件,并将其划分为训练集和验证集。 - **配置文件调整**:根据实际需求修改默认参数,比如学习率调度器的选择、优化算法等超参设定。 - **启动训练脚本**:通过命令行或者 Python 脚本来执行具体的训练逻辑,在此期间会不断保存 checkpoint 文件以便后续恢复或测试性能指标。 对于初学者来说,可以从简单的例子入手逐步深入理解整个工作流是如何运作起来的[^2]。 #### 关键组件解析 - 文本识别(rec) 在 PaddleOCR 中,“Rec”代表的是文字序列预测部分即所谓的“Recognition”。这部分主要负责将由 Det 部分裁剪出来的单个单词图像转换成对应的字符串表达形式。下面展示了一个简化版关于如何创建 RecModel 的实现思路: ```python from paddleocr import PPStructure, draw_structure_result, save_structure_res def create_rec_model(config): from ppstructure.architectures import build_model model = build_model(config['Architecture']) return model ``` 上述代码片段展示了利用 `build_model` 函数来实例化特定架构的过程。其中传入的参数是一个嵌套字典结构,包含了网络层类型及其属性描述等内容[^3]。 ### 总结 综上所述,无论是新手还是有一定经验的研究人员都可以借助详尽的在线资源快速掌握 PaddleOCR 的核心概念和技术细节。希望这些资料能够帮助您更好地开展项目实践!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值