当前位置: 首页 > news >正文

图片公式识别@文档公式识别@表格识别@在线和离线OCR工具

文章目录

    • abstract
    • 普通文字识别
    • 本地软件识别公式
      • 扩展插件下载
      • 小结
    • 在线识别
      • 网站/API👺
      • Quicker整合(推荐)
      • 可视化编辑和识别公式
      • 其他
      • 多模态大模型识别图片中的公式
      • 排版
    • 开源模型

abstract

  • 本文介绍免费图片文本识别(OCR)工具,包括普通文字识别,公式识别,甚至是手写公式和文字
  • 重点在于免费和好用,不失选择的多样性
  • 虽然公式识别的难度远大于普通文字的识别难度,但是随着技术的发展,公式识别也会像文本识别那样易用,免费
  • 其他重要的AI应用(这里不展开)
    • 还有表格识别,尤其是复杂表格的识别
    • 逼真(接近真人播音员朗读效果)的文本朗读语言生成
  • 本文内容可能会随着时间的逝去而过时,某些东西将来可能不那么好用,也可能变得好用,也可能出现更好的工具

普通文字识别

  • 这类软件或平台十分的多,早已普及,比如qq/微信都有文本识别的功能
    • 有人把微信里的ocr功能作为后台设计了一个本地OCR,并且接入语音朗读
  • 那么主要比较的是识别速度和精度,以及易用程度,比如能否离线识别,连续识别的体验,跨平台如何,费用等方面
  • 当然能够识别公式的平台通常也能识别普通文本(但是个别模型为了提高公式识别精度,仅设计为用来识别公式)

本地软件识别公式

  • Umi-OCR: Umi-OCR (gitee.com)
    • 是一款免费、开源、可批量的离线 OCR 软件,基于 PaddleOCR,适用于 Windows10/11 平台
    • 该链接同步github链接,源链接访问比较慢:hiroi-sora/Umi-OCR: OCR software, free and offline. (github.com)
    • 软件主体和软件的插件可以用镜像加速下载

扩展插件下载

  • hiroi-sora/Umi-OCR_plugins: Umi-OCR 插件库 (github.com)

  • 该软件是多功能OCR软件,可以用于普通图片中文本识别,也可以识别二维码,甚至数学公式

    • 识别数学公式需要下载插件中的体积较大的模型
    • hiroi-sora/Umi-OCR_plugins: Umi-OCR 插件库 (github.com)
    • 插件名为win7开头,表示:平台兼容win7 以上(win10,11都可以用),64 位
  • 请仔细阅读仓库介绍和使用说明

小结

  • 软件有多个模型供下载使用,识别公式的速度不是很快,模型推理时对于磁盘有一定的读写量
  • 在有需要说别的时候,我个人会优先使用在线工具识别

在线识别

网站/API👺

  • Document & Formula OCR Service (simpletex.cn)👺
    • 目前免费,支持手写符号识别,图片公式识别,文档公式识别
    • 并且有灵活的使用方式,包括api方式看起来很不错
    • 在线公式编辑器Document Editor (simpletex.net)
  • Doc2X
    • 精度也是不错的,有一定量的免费额度,次数蛮多的
    • 可以识别公式,也可以识别表格,包含公式的表格也不在话下,能够导出到word文件等
  • Pix2Text (P2T) - Free Mathpix Alternative (breezedeus.com)
    • 模型在成长期
    • 有免费额度,有开源版的模型

Quicker整合(推荐)

  • 如果经常使用,推荐用Quicker整合,实现截屏识别

  • 公式识别3 动作信息 - Quicker (getquicker.net)👺

    • 使用Quicker软件(需要常驻后台)及其动作插件动作实现截图识别公式,查看该链接教程进行配置
    • 可以选择多种api,教程中给出了推荐,目前用simpletex提供的api来识别很不错
    • 经常使用的话十分推荐此方案,如果只是偶尔用用,那么用在线网站就够了
  • Doc2X - by 蓝莓派 - 动作信息 - Quicker (getquicker.net)

可视化编辑和识别公式

  • 在线LaTeX公式编辑器-编辑器 (latexlive.com)
    • 需要登录,每个账户每天有少量免费次数(可能会调整)
    • 这类普通账户有免费次数的机制有的人会注册几个账号,甚至叫亲朋好友帮忙注册,不太优雅,用得多的话可以用其他免费的代替品

其他

  • 著名的收费公式识别(具有少量的免费额度
    • Mathpix OCR User Guide: Examples of Rendered Math and Text
  • 图片转LaTeX公式在线 - LaTeX公式识别 - 照片转换成LaTeX公式 - 白描网页版 (baimiaoapp.com)

多模态大模型识别图片中的公式

  • 做以下测试具有时效性,测试时都是免费功能,后续可能会有优化,也可能不再免费

    模型示例评价(仅先测试时的版本)
    通义千问在这里插入图片描述效果尚可,需要等一会,复杂公式需要久一些
    点击通义回复的右下角复制按钮获得latex代码;但是默认缺乏排班,需要告诉模型追加源代码输出,而不仅仅是渲染后的公式
    文心一言在这里插入图片描述免费模型(3.5)测的,一般般,复杂公式识别不全,期待优化
  • 大模型很多,这里就举出两个例子,其他的模型比如智谱清言也可以识别,但是同样的例子出现了错误,将来可能会改进

排版

  • 注意到通义模型可以较好的识别公式,个别细节可能需要微调

  • 我们也可以继续和模型交谈,让他输出源代码,或者排版,甚至给出改进建议,例如我要求输出公式源代码而非展示markdown渲染结果

开源模型

  • Pix2Text/README_cn.md at main · breezedeus/Pix2Text (github.com)
  • 当然还有其他的,一般能用在线免费的,就不需要本地部署了

相关文章:

图片公式识别@文档公式识别@表格识别@在线和离线OCR工具

文章目录 abstract普通文字识别本地软件识别公式扩展插件下载小结 在线识别网站/API👺Quicker整合(推荐)可视化编辑和识别公式其他多模态大模型识别图片中的公式排版 开源模型 abstract 本文介绍免费图片文本识别(OCR)工具,包括普通文字识别,公式识别,甚至是手写公…...

Java高阶私房菜:JVM分代收集算法介绍和各垃圾收集器原理分解

目录 什么是分代收集算法 GC的分类和专业术语 什么是垃圾收集器 垃圾收集器的分类及组合 ​编辑 应关注的核心指标 Serial和ParNew收集器原理 Serial收集器 ParNew收集器 Parallel和CMS收集器原理 Parallel 收集器 CMS收集器 新一代垃圾收集器G1和ZGC G1垃圾收集器…...

为什么IB损失要在100epochs后再用?

在给定的代码中,参数start_ib_epoch用于控制从第几轮开始使用IB(Instance-Balanced)损失函数进行训练。具体来说,如果start_ib_epoch的值大于等于100,那么在训练的前100轮中将使用普通的交叉熵损失函数(CE&…...

《Video Mamba Suite》论文笔记(4)Mamba在时空建模中的作用

原文翻译 4.4 Mamba for Spatial-Temporal Modeling Tasks and datasets.最后,我们评估了 Mamba 的时空建模能力。与之前的小节类似,我们在 Epic-Kitchens-100 数据集 [13] 上评估模型在zero-shot多实例检索中的性能。 Baseline and competitor.ViViT…...

【备战软考(嵌入式系统设计师)】10 - 软件工程基础

这一部分的内容是概念比较多,不要理解,去感受。 涉及的知识点是嵌入式系统开发和维护的部分,也就是和管理相关的,而不是具体如何进行嵌入式系统开发的细节。 系统开发生命周期 按照顺序有下面几个阶段,我们主要要记…...

随手笔记-GNN(朴素图神经网络)

自己看代码随手写的一点备忘录,自己看的,不喜勿喷 GNN (《------ 代码) 刚开始我还在怀疑为什么没有加weigth bias,已经为什么权重才两个,原来是对node_feats进行的network的传播,而且自己内部直接进行了。 下面是一…...

C 语言指针怎么理解?

在今天的学习中,我注意到有位学员似乎对 C 语言指针的理解有些困惑。为了帮助大家更好地理解,我来举个例子。 C 语言指针就好比 Windows 桌面上常见的快捷方式。快捷方式可以指向某个游戏,这就是普通指针;它也可以指向另一个快捷…...

HTTP协议:通信机制、特点及实践应用

目录 前言 1. 运行机制 2. 通信方式 3. 主要特点 4. 统一资源标识符(URL) 5. HTTP报文 6. HTTP请求 7. HTTP响应 8. 实体 9. 持续连接 结语 前言 HTTP(Hypertext Transfer Protocol)是互联网上应用最广泛的一种协议&a…...

Leetcode—289. 生命游戏【中等】

2024每日刷题&#xff08;126&#xff09; Leetcode—289. 生命游戏 算法思想 实现代码 class Solution { public:void gameOfLife(vector<vector<int>>& board) {int rows board.size();int cols board[0].size();int neighbors[3] {0, 1, -1};vector<…...

系统运维(虚拟化)

1.VLAN VLAN&#xff08;Virtual Local Area Network&#xff09;即虚拟局域网&#xff0c;是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。 每个VLAN是一个广播域&#xff0c;VLAN内的主机间可以直接通信&#xff0c;而VLAN间则不能直接互通。这样&#xff0c;广播报…...

Linux域名解析

1.hosts:windows c盘下面 Linux: /etc/hosts 作用:实现名字解析&#xff0c;主要为本地主机名、集群节点提供快速解析。平面式结构&#xff0c;集中式数据库。 缺点:不便于查询更新 2.DNS:域名系统 作用:实现名字解析(分层性&#xff0c;层次性) FQDN:完全合格域名/全称域…...

树形结构和列表的区别

树形结构和列表在数据组织、表示方式以及应用场景等方面存在明显的区别。 首先&#xff0c;树形结构是一种非线性的数据结构&#xff0c;表现为层次的嵌套结构。每个节点可以有多个子节点&#xff0c;这些子节点又可以有自己的子节点&#xff0c;形成一个层次分明的结构。这种一…...

Go中json的解析和反解析

在解析过程中&#xff0c;反向解析不包含其中的部分参数也不会报错&#xff0c;这是需要注意的一点 31 func main() { // E: main redeclared in this block 32 type A…...

SpringBoot+vue实现退出功能

目录 1. 创建点击事件 2. 编写退出逻辑 在Spring Boot 和 Vue.js 应用中实现退出功能&#xff0c;通常涉及到前端的用户界面操作和注销逻辑。 以下是实现退出功能的步骤&#xff1a; 1. 创建点击事件 在header.vue中创建一个点击事件 <span style"text-decoratio…...

Linux操作系统中管理磁盘的另外一种操作方式。即LVM——逻辑卷管理操作

在Linux操作系统中管理磁盘的一种方法名称——LVM&#xff0c;这种管理磁盘的优势。 1.使用LVM去管理磁盘可以在不影响原来数据的前提下去扩容磁盘空间或者是缩减磁盘空间。 在LVM中除了上层逻辑券可以扩容&#xff0c;下层的券组也可以扩容。 2.使用LVM管理的磁盘支持快照功…...

Lua 零基础入门

Lua 1.Lua是什么&#xff1f; 1.1 Lua的历史 Lua是由Roberto Ierusalimschy、Luiz Henrique de Figueiredo和Waldemar Celes于1993年创建的&#xff0c;当时他们是巴西里约热内卢天主教大学计算机图形技术组&#xff08;Tecgraf&#xff09;的成员。在开发Lua之前&#xff0…...

记录DemoApplication.java不变蓝问题

问题 解决方案 一、点击右下角加载 二、右键项目 勾选maven...

22_Scala集合Seq

文章目录 Seq序列1.构建集合2.List集合元素拼接&&集合拼接3.可变Seq&&List3.1 ListBuffer创建3.2 增删改查3.3 相互转化 Appendix1.Scala起别名2.Seq底层3.关于运算符操作: :4.空集合的表示 Seq序列 –Seq表示有序&#xff0c;数据可重复的集合 1.构建集合 …...

机器学习初学者 6 个核心算法!建议收藏,反复观看!

今天再来介绍机器学习算法的基本概念和适用场景&#xff01; 首先&#xff0c;引用一句英国统计学家George E. P. Box的名言&#xff1a;All models are wrong, but some are useful. 没有哪一种算法能够适用所有情况&#xff0c;只有针对某一种问题更有用的算法。 也就是说&…...

SpringBoot 打包所有依赖

SpringBoot 项目打包的时候可以通过插件 spring-boot-maven-plugin 来 repackage 项目&#xff0c;使得打的包中包含所有依赖&#xff0c;可以直接运行。例如&#xff1a; <plugins><plugin><groupId>org.springframework.boot</groupId><artifact…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

React---day11

14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store&#xff1a; 我们在使用异步的时候理应是要使用中间件的&#xff0c;但是configureStore 已经自动集成了 redux-thunk&#xff0c;注意action里面要返回函数 import { configureS…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...

2025.6.9总结(利与弊)

凡事都有两面性。在大厂上班也不例外。今天找开发定位问题&#xff0c;从一个接口人不断溯源到另一个 接口人。有时候&#xff0c;不知道是谁的责任填。将工作内容分的很细&#xff0c;每个人负责其中的一小块。我清楚的意识到&#xff0c;自己就是个可以随时替换的螺丝钉&…...

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...

C++ 类基础:封装、继承、多态与多线程模板实现

前言 C 是一门强大的面向对象编程语言&#xff0c;而类&#xff08;Class&#xff09;作为其核心特性之一&#xff0c;是理解和使用 C 的关键。本文将深入探讨 C 类的基本特性&#xff0c;包括封装、继承和多态&#xff0c;同时讨论类中的权限控制&#xff0c;并展示如何使用类…...