OCR识别图片表格

目录:

一、PP-Structure简介

二、安装PP-Structure

三、使用Jupyter Notebook编写代码


一、PP-Structure简介

     PP-Structure是一个可用于复杂文档结构分析和处理的OCR工具包,主要特性如下:

  • 支持对图片形式的文档进行版面分析,可以划分文字、标题、表格、图片以及列表5类区域(与Layout-Parser联合使用)
  • 支持文字、标题、图片以及列表区域提取为文字字段(与PP-OCR联合使用)
  • 支持表格区域进行结构化分析,最终结果输出Excel文件
  • 支持python whl包和命令行两种方式,简单易用
  • 支持版面分析和表格结构化两类任务自定义训练

二、安装PP-Structure

可根据官网操作(PaddleOCR/README_ch.md at release/2.3 · PaddlePaddle/PaddleOCR · GitHub)

1、打开命令提示符(Win+R),输入cmd

2、安装PaddlePaddle,输入pip install paddlepaddle

3、安装Layout-Parser,输入pip3 install -U https://paddleocr.bj.bcebos.com/whl/layoutparser-0.0.0-py3-none-any.whl

4、安装paddleocr,输入pip install paddleocr

(按步骤安装,安装时间有点慢)

三、使用Jupyter Notebook编写代码

1、导入需要用的包

from paddleocr import PaddleOCR,draw_ocr,draw_structure_result,save_structure_res,PPStructure
import os
import cv2
import pandas as pd

2、

table =PPStructure(show_log=True,use_gpu=True)

出现

[2022/05/03 16:11:39] ppocr DEBUG: Namespace(help='==SUPPRESS==', use_gpu=False, ir_optim=True, use_tensorrt=False, min_subgraph_size=15, precision='fp32', gpu_mem=500, image_dir=None, det_algorithm='DB', det_model_dir='C:\\Users\\yi/.paddleocr/whl\\det\\ch\\ch_PP-OCRv2_det_infer', det_limit_side_len=960, det_limit_type='max', det_db_thresh=0.3, det_db_box_thresh=0.6, det_db_unclip_ratio=1.5, max_batch_size=10, use_dilation=False, det_db_score_mode='fast', det_east_score_thresh=0.8, det_east_cover_thresh=0.1, det_east_nms_thresh=0.2, det_sast_score_thresh=0.5, det_sast_nms_thresh=0.2, det_sast_polygon=False, det_pse_thresh=0, det_pse_box_thresh=0.85, det_pse_min_area=16, det_pse_box_type='quad', det_pse_scale=1, scales=[8, 16, 32], alpha=1.0, be
Python提取图片表格数据通常涉及到图像处理和光学字符识别OCR)。一种常见的库组合是PIL(Python Imaging Library)用于图像预处理,然后使用Tesseract或PyTesseract进行OCR,最后通过像pandas这样的库解析识别出的文字。 以下是一个简化的步骤: 1. **安装必要的库**: - `pip install pillow` (PIL) - `pip install pytesseract` (OCR引擎,如Tesseract-OCR) - 可能需要安装语言包,例如`apt-get install tesseract-ocr` (取决于你的系统) 2. **读取图片并转换为灰度**: ```python from PIL import Image img = Image.open('image.jpg') gray_img = img.convert('L') # 转换为灰度图,利于OCR ``` 3. **使用OCR识别文本**: ```python import pytesseract text = pytesseract.image_to_string(gray_img) ``` 4. **处理识别结果**: - 如果表格是结构化的,可以尝试使用专门针对表格的库,如`tabula-py`来从PDF或屏幕截图提取Excel或CSV表格: ```python from tabula import read_pdf data = read_pdf('image.pdf', pages='all') ``` - 对于简单的文本行,可以用正则表达式或第三方库如`pandas`将文本分隔成列: 5. **清洗和分析数据**: ```python import pandas as pd df = pd.read_csv(StringIO(text), delimiter='\t') # 或者根据实际情况设置分隔符 ``` **相关问题:** 1. 使用哪种库处理复杂的表格结构更有效? 2. 如何提高图片OCR的准确率? 3. OCR识别后的文本可能存在噪声,如何进一步清理数据?
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值