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

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的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

Spring使用@Retryable实现自动重试机制

《Spring使用@Retryable实现自动重试机制》在微服务架构中,服务之间的调用可能会因为一些暂时性的错误而失败,例如网络波动、数据库连接超时或第三方服务不可用等,在本文中,我们将介绍如何在Sp... 目录引言1. 什么是 @Retryable?2. 如何在 Spring 中使用 @Retryable

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。