财务报表自动录入的相关技术

2023-11-07 22:59

本文主要是介绍财务报表自动录入的相关技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 概述
  • Tesseract OCR 验证
  • 安装EasyOCR环境
    • 安装anaconda
    • 安装EasyOCR环境
      • 第一步创建Python虚拟机并安装easyocr环境
      • 第二步开启GPU加速
    • 第三步下载用于检测的模型文件
    • 编写验证程序
  • 基于图片的测试
  • 异常情况

概述

基于目前已有的技术,实现财务报表的自动录入
技术目录请参考如下链接
开源软件目录

Tesseract OCR 验证

如何实现,将各种文件类型的财务报表自动录入到系统中
以下是对开源技术TesseractOCR进行验证的过程:

要验证 Tesseract OCR 技术并搭建一个本地测试环境,你可以按照以下步骤进行操作:

安装 Tesseract OCR:首先,你需要安装 Tesseract OCR。你可以在 Tesseract OCR 的官方网站上找到安装指南,根据你的操作系统选择合适的安装方法。
安装 OCR 测试工具:除了 Tesseract OCR 本身,你还需要安装一个 OCR 测试工具,例如 OCRopus4 或 EasyOCR。这些工具可以帮助你进行 OCR 测试并评估其性能。
准备测试数据集:为了测试 Tesseract OCR,你需要准备一个包含各种图像和文本的测试数据集。你可以从公开可用的数据集中选择一个,或者自己创建一个数据集。确保数据集包含不同的字体、大小、分辨率、背景和噪声等条件下的图像。
运行 OCR 测试:使用你选择的 OCR 测试工具,运行 OCR 测试。根据你选择的工具,你可以按照其文档或指南中的说明进行操作。通常,你需要将测试数据集中的图像输入到 OCR 测试工具中,并指定要使用的 OCR 引擎(在本例中是 Tesseract OCR)。
评估 OCR 性能:在运行 OCR 测试后,你将获得一系列识别结果。为了评估 Tesseract OCR 的性能,你需要将这些结果与真实的文本标签进行比较。你可以使用各种指标来评估性能,例如字符错误率(CER)、单词错误率(WER)和准确率(Accuracy)。
调整和优化:根据评估结果,你可能需要对 Tesseract OCR 进行调整和优化,以提高其性能。你可以尝试使用不同的配置参数、训练数据和图像处理技术来改进 OCR 结果。
请注意,以上步骤提供了一个基本的框架,你可以根据自己的需求和环境进行适当的调整和修改。同时,确保你在操作过程中参考相关的文档、指南和教程,以确保正确地安装、配置和使用 Tesseract OCR。

安装EasyOCR环境

验证机系统环境
操作系统:win11
软件环境:Anaconda V23.31

安装anaconda

anaconda安装步骤请参考一下链接
安装过程描述

安装EasyOCR环境

anaconda安装好后采用命令行安装EasyOCR环境

第一步创建Python虚拟机并安装easyocr环境

先输入一个命令查看conda创建过的所有虚拟环境

conda env list

创建虚拟机并指定python版本为3.7

conda create -n EasyOCR python=3.7

将当前的python环境切换到 EasyOCR

conda activate EasyOCR

在EasyOCR环境中安装easyocr软件包

pip install easyocr

验证软件包是否安装成功

python -c "import easyocr"

执行命令后不报错,就证明安装成功了。

第二步开启GPU加速

如果需要使用GPU加速,则需要安装CUDA。根据EasyOCR官方文档,可以选择CUDA 10.1版本。
使用GPU加速前需要先验证机器是否支持GPU加速
若不需要开启GPU加速可跳过此步骤

验证是否可以使用GPU加速,方法如下
要确定自己的电脑是否支持GPU加速,可以按照以下步骤进行操作:

  1. 检查显卡类型:打开任务管理器,点击性能,然后在下拉框中查看是否有GPU。如果有,则表示您的电脑支持GPU加速。另一种方法是打开设备管理器,查看显示适配器中是否有GPU。
  2. 检查驱动和CUDA Toolkit:要使用GPU加速,需要安装合适的驱动和CUDA Toolkit。可以通过在命令窗口中输入“nvidia-smi”来检查驱动版本是否大于396.26。如果没有安装合适的驱动,可以访问NVIDIA官方网站下载并安装。另外,CUDA Toolkit的版本也很重要,建议使用9.2版本,可以在NVIDIA官方网站或CUDA下载页面上找到相应的版本。

以上步骤可以帮助您确定自己的电脑是否支持GPU加速。如果您需要使用GPU加速功能,建议您按照以上步骤进行检查和设置,以保证您的电脑能够最佳地运行相关软件和应用程序。

第三步下载用于检测的模型文件

模型名称识别文字
craft_mlt_25k.zip文字检测模型(CRAFT)(必须)
chinese_sim.zip中文(简体)模型(识别中文必须)

编写验证程序

编码工具:IDEA (需要配置python的开发环境,请自行搜索教程)

测试代码的目录结构
data:用于存放测试数据
model:用于存放模型文件
easyocrtest.py : 是测试代码,内容如下

import easyocr as esif __name__ == '__main__':# 指定 craft_mlt_25k 文件的路径# 将路径替换为您实际的文件路径craft_mlt_25k_path = 'D:\python-project\easyocrtest\model\craft_mlt_25k'# 初始化 EasyOCR 检测器,并加载指定的模型文件detector =  es.Reader(lang_list=['ch_sim','en'],gpu=False,model_storage_directory=craft_mlt_25k_path)# 使用 detector 进行文本检测和识别image_path = 'D:\python-project\easyocrtest\data\\1_1.jpg'  # 将路径替换为您实际的图像路径results = detector.detect(image_path)# 处理结果...# 打印识别的结果for result in results:print(result)

基于图片的测试

测试图片

财务报表图片

测试输出结果
不知道,输出了一堆什么东东,看不懂

测试结果

异常情况

异常 Neither CUDA nor MPS are available - defaulting to CPU. Note: This module is much faster with a GPU

这个问题是与代码和程序运行相关的。

这个问题通常出现在使用TensorFlow或PyTorch等深度学习库时,并且你的计算机上没有安装合适的GPU驱动或CUDA工具包。

解决这个问题的方法如下:

  1. 确保你的计算机上有一个兼容的GPU:TensorFlow和PyTorch等库都对GPU有特定的要求。请检查你的GPU是否与这些库兼容。
  2. 安装CUDA工具包:CUDA是NVIDIA开发的一种技术,用于在NVIDIA的GPU上执行计算。如果你有一个NVIDIA的GPU,你可以从NVIDIA的官方网站上下载并安装CUDA工具包。
  3. 安装GPU驱动:确保你的GPU驱动是最新的,并且与你的操作系统兼容。
  4. 检查MPS(Metal Performance Shaders):如果你使用的是Mac,确保你的系统支持MPS。
    使用虚拟环境:如果你正在使用虚拟环境(如conda),确保你安装了与GPU兼容的库版本。
    查看库的文档:参考你正在使用的库的文档,查看如何配置GPU支持。例如,TensorFlow和PyTorch都有详细的安装和配置指南。

这篇关于财务报表自动录入的相关技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/366684

相关文章

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4