拍摄发票照片,自动识别发票金额,开票日期,商家名称,提取关键信息,生成电子记账表。

1. 实际应用场景描述

在个人理财、企业报销、税务管理等领域,我们每天都会收到各种发票(纸质或电子图片)。

- 个人记账时,需要手动输入发票上的金额、日期、商家名称,费时费力。

- 企业财务需要批量处理大量发票,人工录入容易出错。

- 纸质发票不易保存,查找困难。

如果有一个智能程序,只需 拍摄发票照片,就能自动识别关键信息并生成 电子记账表,将极大提升效率,减少人为错误。

2. 痛点分析

1. 手动录入繁琐:每张发票都要逐字段输入。

2. 易出错:数字、日期格式不统一,容易录错。

3. 查找困难:纸质发票不易分类存储。

4. 批量处理难:企业财务面对大量发票时效率低下。

3. 核心逻辑讲解

3.1 图像预处理

- 对拍摄的发票照片进行灰度化、二值化、去噪等操作,提高 OCR 识别率。

- 可使用 OpenCV 进行边缘检测和倾斜校正。

3.2 OCR 文字识别

- 使用

"pytesseract"(Tesseract OCR 的 Python 封装)识别图片中的文字。

- 支持中文识别(需安装中文语言包)。

3.3 关键信息提取

- 使用 规则匹配 或 正则表达式 提取金额(如“¥123.45”)、日期(如“2024-12-31”)、商家名称(通常在发票顶部)。

- 可升级为 NLP 实体识别模型(如 BERT)提高准确率。

3.4 数据存储

- 将提取的信息存入 CSV 文件,形成电子记账表。

- 可扩展为 SQLite 或 Excel 文件。

4. 模块化代码(Python)

# invoice_ocr.py

import cv2

import pytesseract

import re

import csv

from datetime import datetime

class InvoiceOCR:

def __init__(self, output_csv='invoice_records.csv'):

self.output_csv = output_csv

# 初始化 CSV 文件

with open(self.output_csv, 'w', newline='', encoding='utf-8-sig') as f:

writer = csv.writer(f)

writer.writerow(['商家名称', '开票日期', '金额(元)', '识别时间'])

def preprocess_image(self, image_path):

"""图像预处理:灰度化、二值化、去噪"""

img = cv2.imread(image_path)

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

_, thresh = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)

denoised = cv2.medianBlur(thresh, 3)

return denoised

def ocr_image(self, image_path):

"""OCR 识别文字"""

processed_img = self.preprocess_image(image_path)

text = pytesseract.image_to_string(processed_img, lang='chi_sim+eng')

return text

def extract_info(self, text):

"""提取商家名称、日期、金额"""

# 商家名称:假设在文本前几行

lines = text.split('\n')

merchant = lines[0].strip() if lines else ''

# 日期:匹配 YYYY-MM-DD 或 YYYY/MM/DD

date_pattern = r'\d{4}[-/]\d{1,2}[-/]\d{1,2}'

date_match = re.search(date_pattern, text)

date = date_match.group() if date_match else ''

# 金额:匹配 ¥123.45 或 123.45元

amount_pattern = r'[¥¥]?\s*\d+\.\d{2}\s*[元]?'

amount_match = re.search(amount_pattern, text)

amount = amount_match.group().replace('¥', '').replace('¥', '').replace('元', '').strip() if amount_match else ''

return merchant, date, amount

def save_to_csv(self, merchant, date, amount):

"""保存到 CSV"""

with open(self.output_csv, 'a', newline='', encoding='utf-8-sig') as f:

writer = csv.writer(f)

writer.writerow([merchant, date, amount, datetime.now().strftime('%Y-%m-%d %H:%M:%S')])

def process_invoice(self, image_path):

"""处理单张发票"""

print("正在识别发票...")

text = self.ocr_image(image_path)

print("识别文本:\n", text)

merchant, date, amount = self.extract_info(text)

print(f"商家:{merchant}, 日期:{date}, 金额:{amount}")

self.save_to_csv(merchant, date, amount)

print("已保存到电子记账表。")

def main():

ocr = InvoiceOCR()

image_path = input("请输入发票照片路径:").strip()

ocr.process_invoice(image_path)

if __name__ == "__main__":

main()

5. README 文件

# 发票自动识别与电子记账工具

基于 Python + OpenCV + Tesseract OCR,实现拍摄发票照片自动识别金额、日期、商家名称,并生成电子记账表。

## 功能

- 发票照片预处理

- OCR 文字识别(支持中英文)

- 关键信息提取

- 自动保存到 CSV 记账表

## 安装依赖

bash

pip install opencv-python pytesseract

> 需安装 [Tesseract OCR](https://github.com/tesseract-ocr/tesseract) 及中文语言包。

## 使用

bash

python invoice_ocr.py

输入发票照片路径,程序会自动识别并保存。

## 示例

输入照片路径后,输出:

商家:星巴克咖啡, 日期:2024-12-31, 金额:36.50

已保存到电子记账表。

6. 使用说明

1. 安装 Tesseract OCR 及中文语言包。

2. 安装 Python 依赖。

3. 运行脚本,输入发票照片路径。

4. 程序会识别并保存信息到

"invoice_records.csv"。

5. 可用 Excel 打开 CSV 查看记账表。

7. 核心知识点卡片

知识点 说明

OCR 技术 使用 Tesseract 将图像转为文本

图像预处理 灰度化、二值化、去噪提高识别率

正则表达式 提取金额、日期等结构化信息

CSV 操作 将数据持久化存储

可扩展性 可升级为 NLP 模型或接入财务系统

8. 总结

本项目展示了如何用 Python + OpenCV + Tesseract OCR + 规则提取 快速实现一个 发票自动识别与电子记账工具,解决了手动录入发票信息的痛点。

- 优点:自动化程度高、可批量处理、易于集成。

- 未来可引入 深度学习 OCR 模型(如 PaddleOCR、TrOCR)和 NLP 实体识别,提升复杂版式发票的识别准确率,并支持导出 Excel、对接财务软件。

- 适合作为 AI 方法与技术课程 的实践案例,涵盖图像处理、文本识别、数据提取与存储全流程。

如果你愿意,可以升级为 PaddleOCR 版本,并增加批量处理和 GUI 界面,让它更适合实际财务工作。

利用AI高效解决实际问题,如果你觉得这个工具好用,欢迎关注我!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1200473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年大模型就业全景:技术演进、核心技能与职业发展指南

随着大语言模型(Large Language Models, LLMs)技术的持续突破,人工智能领域正加速完成从“通用对话工具”到“任务驱动型智能体(Agent)系统”的深度变革 截至2026年,企业对大模型相关人才的需求呈现爆发式…

学术会议资料管理与共享平台开题报告

学术会议资料管理与共享平台开题报告 一、研究背景 在全球数字化转型加速推进的背景下,学术交流的形式与载体正发生深刻变革。学术会议作为科研工作者分享研究成果、开展学术探讨、建立合作关系的核心场景,其资料的产生、流转与利用模式也面临着新的挑…

【基于无人机搭载相机网络的交互式监控分布式方法】基于无人机搭载摄像头网络的交互式监控分布式方法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

智能会议系统集成生产厂哪家售后给力,优质厂家大汇总

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家标杆企业,为企业选型提供客观依据,助力精准匹配适配的智能会议系统服务伙伴。 TOP1 推荐:北京力创昕业科技发展有限公司 推荐指数:★★★★★ | 口碑评分:…

学历普通也能找到高薪!CSDN博主教你:用网络安全打破“双非”魔咒,锁定高薪offer!

你好!看到你在思考这个问题,说明你已经领先于很多还在迷茫的同学了。“双非二本、大专生”这个标签绝不是终点,而只是你职业生涯的起点。 这句话不是鸡汤。在计算机这个极度看重能力和实践的领域,学历是敲门砖,但能力…

收藏备用!SFT/ReFT/RLHF/DPO/PPO五大大模型微调技术全解析+对比

在大模型落地实践中,微调技术是让预训练模型适配特定任务、提升性能的核心手段。本文将系统对比分析SFT、ReFT、RLHF、DPO和PPO五种主流微调技术,拆解各自的核心逻辑、实现流程、优劣差异及适用场景,同时补充实操细节和技术关联点&#xff0c…

GPT-5.2-Pro与Sora 2强强联手:底层架构深度解析与企业级API低成本接入实战(附全套Python源码)

摘要 在人工智能技术呈指数级爆发的今天, 我们刚刚适应了GPT-4的节奏, OpenAI与Google DeepMind便再次抛出了深水炸弹。 GPT-5.2-Pro的推理能力已突破图灵测试的新边界, 而Sora 2与Veo 3则彻底改变了视频生成的物理一致性难题。 对于开发者而…

盘点2026年工业记录仪品牌,杭州美控稳定性强排名靠前

2026年工业数字化转型加速,工业记录仪作为生产过程的数据黑匣子,已成为企业实现工艺追溯、质量管控、能效优化的核心支撑。无论是记录温度、压力、流量等关键参数的无纸记录仪,还是适配复杂工况的工业记录仪,优质品…

从学生建言到省厅红头文件:一个普通大学生的产业政策“漂流记”

从学生建言到省厅红头文件:一个普通大学生的产业政策“漂流记” 文章目录从学生建言到省厅红头文件:一个普通大学生的产业政策“漂流记”一、缘起:一个“格局太大”的建议二、流转:在省、市部门间“往返出差”三、升级&#xff1a…

收藏!985程序员弃考公选企业,5年中层年薪30万,大模型才是破局关键

985本科毕业那年,身边绝大多数同学都挤破头冲刺公考、事业单位,一门心思追逐“铁饭碗”的安稳,毕竟在长辈和多数人眼里,体制内的稳定是职场最优解。 而我却选择了一条反向赛道,放弃了众人追捧的安稳路,毅然…

2025年12月威胁情报:供应链攻击与恶意软件分析

威胁情报团队结合全球威胁研究人员和数据科学家,利用数据分析和机器学习领域的专有技术,分析世界上规模最大、最多样化的威胁数据集合之一。研究团队提供战术威胁情报,为弹性的威胁检测与响应提供动力——即使组织的攻击面扩大、技术演进、对…

【计算机视觉、关键点检测、特征提取和匹配】基于SIFT、PCA-SIFT和GLOH算法在不同图像之间建立特征对应关系,并实现点匹配算法和图像匹配附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码及仿真咨询…

几十个人的3D设计团队如何提升SolidWorks、catia、ug等三维设计软件的利用率

在当今高度竞争的工业设计领域,一个由几十人组成的3D设计团队要充分发挥SolidWorks、CATIA、UG等专业软件的潜力,利用云飞云共享云桌面可显著提升这些三维设计软件的利用率,具体可从资源集中管理、动态资源分配、软件与数据共享、运维管理优化…

【CNN+DOA】告别繁琐实验!这款DOA估计框架,一键对比深度学习与传统算法【附python代码】

DOA 估计框架:深度学习与传统算法对比 告别繁琐实验!这款DOA估计框架,一键对比深度学习与传统算法 在雷达探测、无线通信、声学定位等领域,DOA估计(波达方向估计) 是核心技术之一——它能精准判断信号来源…

企业私有化部署首选,MonkeyCode 安全适配本地模型

当下AI编程工具品类繁多,但绝大多数仅能覆盖“代码撰写、Demo运行”的基础诉求,难以匹配真实工程研发的复杂场景。长亭科技全新推出的AI开发平台MonkeyCode,成功打破这一行业壁垒——平台立足企业级研发维度进行构建,让AI深度嵌入…

必学收藏!12个大模型Agent实战应用案例:从电影生成到金融分析的完整指南

文章详细介绍了12个大模型Agent在各领域的创新应用,包括电影生成、数据可视化、播客制作、新闻核查、软件调试、金融分析等。这些Agent通过多智能体协作和专业化设计,解决了传统方法中的效率低、成本高、精度不足等问题。每个项目均提供源码链接&#xf…

杭州中小工厂展览会举办时间、报名方式及展会持续多久全揭秘

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家华东地区优质展会服务机构,为中小工厂拓客、采购商选品提供客观依据,助力精准匹配适配的展会伙伴。 TOP1 推荐:宁波星程展览有限公司 推荐指数:★★★★★…

深度收藏:RAG架构革命 - 解决大模型幻觉与知识瓶颈的终极方案

本文剖析了大模型幻觉与知识瓶颈的根源,提出RAG技术通过架构层面的解耦,将外部知识检索与生成模型分离,构建动态知识架构。RAG系统通过分层设计,实现基于外部证据的生成约束、低成本知识更新和结果可验证性,从根本上解…

‌职业倦怠自救:2026年软件测试从业者心理健康管理指南

一、2026年测试岗位的心理新图景:不是变轻松了,而是更隐蔽了‌ 2026年,软件测试不再是“点点点”的重复劳动。AI测试助手已接管85%的回归测试、90%的UI兼容性验证、70%的接口自动化用例生成。表面上,测试工程师的“体力负担”大幅…

收藏!大模型岗位薪资真相曝光,程序员/小白必看的职业启示

伴随生成式AI与大模型技术的迅猛迭代,AI赛道相关岗位已然成为互联网行业的绝对“香饽饽”,不仅岗位需求持续攀升,各大科技巨头更是纷纷加码人才抢夺战,薪资待遇也水涨船高。近日,职场薪资权威平台OfferShow发布了AI领域…