首页 > 其他分享 >paddleocr识别并按行输出结果

paddleocr识别并按行输出结果

时间:2024-07-19 18:10:35浏览次数:14  
标签:rows last row paddleocr current 按行 text 识别 bbox

from paddleocr import PaddleOCR

# 初始化OCR引擎
ocr = PaddleOCR(use_angle_cls=True, lang="ch")  # 使用中文模型

# 对图像进行OCR识别
img_path = './imgs/img_3.png'
result = ocr.ocr(img_path, cls=True)

# 按y坐标对文本块进行排序
sorted_result = sorted(result, key=lambda x: x[0][1])  # 假设每个元素是(bbox, text)的元组

# 初始化行列表
rows = []
current_row = []
last_y = None
y_threshold = 10  # 行的y坐标差异阈值

for line in sorted_result:
    for node in line:
        bbox, text = node
        y1, y2 = bbox[1][1], bbox[3][1]
        if last_y is None or y1 - last_y > y_threshold:
            # 如果这是第一行或与前一行有足够的垂直距离,则开始新行
            if current_row:
                rows.append(current_row)
            current_row = [(bbox, text)]
            last_y = y1
        else:
            # 否则,将文本块添加到当前行
            current_row.append((bbox, text))

# 不要忘记添加最后一行(如果有的话)
if current_row:
    rows.append(current_row)

# 输出结果
for idx, row in enumerate(rows, start=1):
    print(f"Row {idx-1}:")
    for bbox, text in row:
        print(f"  Text: {text}, Box: {bbox}")

  

标签:rows,last,row,paddleocr,current,按行,text,识别,bbox
From: https://www.cnblogs.com/chen1880/p/18312052

相关文章

  • 63文章解读与程序——电力系统保护与控制EI\CSCD\北大核心《基于混沌集成决策树的电
    ......
  • 百度人脸识别Windows C++离线sdk C#接入
    百度人脸识别WindowsC++离线sdkC#接入目录说明设计背景•场景特点:•客户特点:•核心需求:SDK包结构效果代码说明自己根据SDK封装了动态库,然后C#调用。功能接口设计背景•场景特点:--网络:对于无网、局域网等情况,无法连接公网,API方式无法运作。如政府单......
  • 基于语音识别的会议记录系统
    目录核心功能页面展示使用技术方案功能结构设计数据库表展示核心功能页面展示视频展示功能1.创建会议在开始会议之前需要管理员先创建一个会议,为了能够快速开始会议,仅需填写会议的名称、会议举办小组、会议背景等简要会议信息即可成功创建。2.语音识别会议记录(最核心功......
  • Halcon的学习笔记(一)——非线性字符识别
    Halcon非线性模式的字符识别(ocr_cd_print_polar_trans.hdev例程分析)Halcon的学习笔记(一)——非线性字符识别项目上需要对非线性模式的字符进行识别,halcon中包含的例程,我搜了一下,网上对于该例程的解析比较少,因此自己便记录了一下自己的学习例程,也算自己的学习笔记。1.什......
  • 移动硬盘嘟嘟响 转不起来 电脑无法识别数据恢复
    当移动硬盘发出嘟嘟响且无法转动,同时电脑无法识别时,这通常表明移动硬盘遇到了较为严重的故障。针对这种情况,以下是一些可能的解决步骤和数据恢复方法:一、故障原因分析1.硬盘内部损坏:硬盘内部物理损坏,如磁头故障、盘片划伤等,可能导致无法读取数据并发出异常声音。2.电路板故障:电......
  • RFID无线射频识别
    一、简要说明RFID是一种无线通信技术,通过无线电信号识别特定目标,并读取相关数据,而无需建立机械或者光学接触。RFID全称:Radio-FrequencyIdentification二、工作原理需要辨别的物体上附有标签,通过阅读器(双向无线电波收发器)向标签发出信号并解读其应答。传输方式:无线电的信号通......
  • whisper-api语音识别语音翻译高性能兼容openai接口协议的开源项目
    whisper-api介绍使用openai的开源项目winsper语音识别开源模型封装成openaichatgpt兼容接口软件架构使用uvicorn、fastapi、openai-whisper等开源库实现高性能接口更多介绍[https://blog.csdn.net/weixin_40986713/article/details/138712293](https://blog.csdn.net......
  • uniapp对接人脸识别,人脸核身,双录 ,阿里云,以及腾讯云对接方法。
    腾讯云uniapp接入】第一步,申请人脸核身服务:https://cloud.tencent.com/apply/p/shcgszvmppc第二步,申请业务流程WBAppid:-获取WBappid方法指引:https://cloud.tencent.com/document/product/1007/49634-申请链接:https://console.cloud.tencent.com/faceid/access第三步,uni插件接入......
  • 免费的通用文字OCR识别
    通用文字OCR(OpticalCharacterRecognition,光学字符识别)识别技术是一种将文本图像中的文字转换为可编辑、可搜索的电子文本格式的技术。以下是对通用文字OCR识别的详细解析:一、OCR识别技术概述OCR技术通过扫描或拍摄文档图像,利用图像处理技术和模式识别算法,自动检测并识别图......
  • Java身份证识别接口在打车场景的应用
    曾几何时,滴滴打车似乎成了打车一族的首选,评论有好有坏。近几日,美团打车在上海的首秀还不错。为了吸引更多司机加入,美团还设置了新人推荐奖。根据美团打车司机端的信息显示,3月20和3月31日期间,司机每邀请一名新司机,并且新司机完成8单,即可拿到100元奖励。根据美团的宣传,其首日接......