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

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

相关文章

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析