OliveSensorAPI/generate_data/OCR.md
Anooyman 000491f1be
Merge Main code (#2)
* Add files via upload

* 新增ENmd文档

* Update README.md

* Update README_EN.md

* Update LICENSE

* [docs] update lmdeploy file

* add ocr.md

* Update tutorial.md

* Update tutorial_EN.md

* Update General_evaluation_EN.md

* Update General_evaluation_EN.md

* Update README.md

Add InternLM2_7B_chat_full's professional evaluation results

* Update Professional_evaluation.md

* Update Professional_evaluation.md

* Update Professional_evaluation.md

* Update Professional_evaluation.md

* Update Professional_evaluation_EN.md

* Update README.md

* Update README.md

* Update README_EN.md

* Update README_EN.md

* Update README_EN.md

* [DOC] update readme

* Update LICENSE

* Update LICENSE

* update personal info and small format optimizations

* update personal info and translations for contents in a table

* Update RAG README

* Update demo link in README.md

* Update xlab app link

* Update xlab link

* add xlab model

* Update web_demo-aiwei.py

* add bitex

---------

Co-authored-by: xzw <62385492+aJupyter@users.noreply.github.com>
Co-authored-by: এ許我辞忧࿐♡ <127636623+Smiling-Weeping-zhr@users.noreply.github.com>
Co-authored-by: Vicky <vicky_3021@163.com>
Co-authored-by: MING_X <119648793+MING-ZCH@users.noreply.github.com>
Co-authored-by: Nobody-ML <1755309985@qq.com>
Co-authored-by: 8baby8 <3345710651@qq.com>
Co-authored-by: chaoke <101492509+8baby8@users.noreply.github.com>
Co-authored-by: aJupyter <ajupyter@163.com>
Co-authored-by: HongCheng <kwchenghong@gmail.com>
Co-authored-by: santiagoTOP <“1537211712top@gmail.com”>
2024-03-15 19:51:04 +08:00

3.7 KiB
Raw Blame History

使用PaddleOCR批量处理识别心理相关PDF说明文档

1. 简介

本项目利用PaddleOCR库实现对PDF文件中的文字进行批量识别和处理。PaddleOCR是一个基于PaddlePaddle深度学习框架开发的开源光学字符识别OCR工具库具备高效、准确、易用的特点。本说明文档旨在指导用户如何使用PaddleOCR对PDF文件进行批量处理提取其中的文字信息。

2. 环境准备

2.1 安装PaddlePaddle

首先确保已经安装了PaddlePaddle深度学习框架。可以通过pip进行安装

pip install paddlepaddle

注意根据你的操作系统和硬件环境如是否使用GPU可能需要安装特定版本的PaddlePaddle。请参考PaddlePaddle官方文档进行安装。

2.2 安装PaddleOCR

接下来安装PaddleOCR库

pip install paddleocr

2.3 安装其他依赖库

项目可能还需要安装一些其他依赖库如PDF处理库等请根据项目实际需求进行安装。

3. PDF文件预处理

由于PaddleOCR主要处理图像数据因此我们需要将PDF文件转换为图像格式。可以使用一些PDF处理库如PyMuPDF、PDFMiner等将PDF文件中的每一页转换为图像文件并保存为单独的图片。

4. 批量识别处理

4.1 加载PaddleOCR模型

首先导入PaddleOCR库并加载预训练模型

from paddleocr import PaddleOCR, draw_ocr

# 初始化OCR模型使用默认的英文模型
ocr = PaddleOCR(use_angle_cls=True, lang='en')

注意:lang参数用于指定识别语言,可以根据需要选择相应的语言模型。

4.2 批量识别PDF图像

接下来编写代码遍历所有转换后的PDF图像文件并使用PaddleOCR进行文字识别

import os
import glob

# 假设PDF图像文件保存在"pdf_images"文件夹中
image_dir = "pdf_images"
image_list = glob.glob(os.path.join(image_dir, "*.jpg"))  # 根据实际情况修改文件扩展名

results = []
for img_path in image_list:
    # 读取图像
    img = cv2.imread(img_path)
    
    # 使用OCR模型进行识别
    result = ocr.ocr(img, use_gpu=False)
    
    # 将识别结果添加到列表中
    results.append((img_path, result))

4.3 处理识别结果

识别结果result是一个列表,其中每个元素是一个包含文本信息和位置信息的元组。你可以根据需要对这些结果进行进一步处理,如提取文本、保存为文件等。

5. 注意事项

  • 确保PDF文件中的文字清晰可辨以提高识别准确率。
  • 根据实际情况调整PaddleOCR模型的参数和配置以获得更好的识别效果。
  • 如果需要处理大量PDF文件请确保系统资源充足避免因内存或计算资源不足导致的问题。

6. 示例代码

以下是一个简单的示例代码展示了如何使用PaddleOCR对PDF文件进行批量识别处理

# 导入必要的库
import cv2
from paddleocr import PaddleOCR, draw_ocr
import os
import glob

# 初始化OCR模型
ocr = PaddleOCR(use_angle_cls=True, lang='en')

# 设置PDF图像文件夹路径
image_dir = "pdf_images"

# 获取PDF图像文件列表
image_list = glob.glob(os.path.join(image_dir, "*.jpg"))  # 根据实际情况修改文件扩展名

# 批量识别处理
results = []
for img_path in image_list:
    # 读取图像
    img = cv2.imread(img_path)
    
    # 使用OCR模型进行识别
    result = ocr.ocr(img, use_gpu=False)
    
    # 可视化识别结果(可选)
    # image_show = draw_ocr(img, result, font_path='./doc/fonts/simfang.ttf')
    # cv2.imshow('ocr_result', image_show)
    # cv2.waitKey(0)
    # cv2.destroyAllWindows()
    
    # 将识别结果添加到列表中
    results.append((img_path, result))

# 处理识别结果