pdf图片识别分类

文章目录

解析pdf数据

试了几种方法

fitz-get_image后面方法不适用,用pixmap分辨率低

用pypdf2版本低方法用不了

用pdf2image还要下依赖工具

用spire.pdf的SaveAsImage分辨率低,ExtractImages可以但运行慢

先用spire.pdf的ExtractImages吧

python 复制代码
from spire.pdf.common import ImageFormat
from spire.pdf import PdfDocument

# 从PDF文档提取图片,PDF文档的路径,存放图片的文件夹路径
def extract_images_from_pdf(file_path, output_folder):
    # 创建PdfDocument类的实例
    doc = PdfDocument()
    # 加载PDF文档
    doc.LoadFromFile(file_path)
    # 创建list来存储提取的图片
    images = []
    # 遍历文档的页面
    for i in range(doc.Pages.Count):
        # 获取当前页
        page = doc.Pages.get_Item(i)
        # 从页面提取图片并存储到list
        for img in page.ExtractImages():
            # print(img)
            images.append(img)
    # 将图片保存到指定文件夹
    for i, image in enumerate(images):
        image.Save(f"{output_folder}Image-{i+1}.jpg", ImageFormat.get_Jpeg())
    doc.Close()

# 调用函数实现从PDF提取图片
file_path = "副本.pdf"
output_folder = "tup/"
extract_images_from_pdf(file_path, output_folder)

ocr识别

试验几种方法paddleocr umiocr cnocr 微信截图等

识别效果都差不多 最先进的也就这样了,就用cnocr 运行效率高 其他更慢

调了调一些参数,发现不调还好一些

cnocr也和opencv一样不支持中文路径,直接用PIL读取传对象给cnocr就可以

python 复制代码
from cnocr import CnOcr # 识别
from PIL import Image
def ocr_cn(path): # 输入图片path
    img=Image.open(path)
    # print(img)
    r = ocr.ocr(img)
    t = []  # 文本
    for each in r:
        # print(each['text'])
        t.append(each['text'])
    # print(t)
    return t

分类方法

分类方法有基于规则、基于词频统计、nlp算法-朴素贝叶斯 textcnn什么的

一般数据量小就规则,一般数据量大也先用规则看看 一些能看到的共性可以直接提出来,剩下的再用AI学习

python 复制代码

分类完提示

用Tkinter或pyqt做窗口提示和交互

python 复制代码
## 分类完提示
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
root.withdraw()
messagebox.showinfo("提示", "程序运行完成!")
messagebox.showinfo("提示", "分类完成!"+'\n'+'分类成功 条'+'\n'+'分类失败 条')
相关推荐
Greedy Alg3 小时前
LeetCode 142. 环形链表 II
算法
睡不醒的kun3 小时前
leetcode算法刷题的第三十二天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划
先做个垃圾出来………3 小时前
残差连接的概念与作用
人工智能·算法·机器学习·语言模型·自然语言处理
SuperCandyXu5 小时前
P3205 [HNOI2010] 合唱队-普及+/提高
c++·算法·洛谷
_OP_CHEN5 小时前
数据结构(C语言篇):(十二)实现顺序结构二叉树——堆
c语言·数据结构·算法·二叉树·学习笔记··顺序结构二叉树
Yingjun Mo6 小时前
1. 统计推断-基于神经网络与Langevin扩散的自适应潜变量建模与优化
人工智能·神经网络·算法·机器学习·概率论
地平线开发者6 小时前
征程 6 | 灰度图部署链路介绍
算法·自动驾驶
地平线开发者6 小时前
手撕大模型|KVCache 原理及代码解析
算法·自动驾驶
共享家95277 小时前
经典动态规划题解
算法·leetcode·动态规划
Pluchon7 小时前
硅基计划3.0 Map类&Set类
java·开发语言·数据结构·算法·哈希算法·散列表