Python 图像截屏公式识别——LaTeX-OCR安装与使用

LaTeX-OCR是什么

LaTeX-OCR 是一个开源的光学字符识别(OCR)软件,专为 LaTeX 文档提供支持。
其主要目的是帮助用户将扫描的文档转换为 LaTeX 编辑器可以使用的可编辑文本,从而方便进行修改、编辑和排版。
LaTeX广泛用于科技、数学、工程等领域的文档编写。
而 OCR 技术则用于将图像中的文字转换为计算机可编辑的文本。
LaTeX-OCR 的结合使得用户能够更方便地将扫描得到的文档内容转换为 LaTeX 格式,为文档的后续编辑和排版提供了便利。
源码地址:https://github.com/lukas-blecher/LaTeX-OCR

环境

直接使用pip进行安装,为了方便管理环境,这里使用conda创建虚拟环境。

1.环境安装

1
2
3
conda create -n latex python=3.10
activate latex
pip install "pix2tex[gui]"

2.启动与使用

1
latexocr

第一次启动的时候,会下载两个模型,可能会很慢,建议使用科学上网。
如果下载不下来,可以直接去官网下载后,放到指定的目录。

启动完成之后,出现UI交互界面,使用快捷键或者直接点击截屏识别

3.识别

识别一个复杂一点的公式,如果识别得不精准,可以自己手动调节Temperature值,最大调整到1 越大耗费时间越长

生成的LaTeX 表示方法,把它复制到支持LaTeX 表示方法的编辑器可以现实公示了

4.代码调用

1
2
3
4
5
6
from PIL import Image
from pix2tex.cli import LatexOCR

img = Image.open('path/to/image.png')
model = LatexOCR()
print(model(img))

该模型在较小分辨率的图像上表现最佳 。
为了提高其效果,添加了一个预处理步骤。在这一步中,另一个神经网络会预测输入图像的最佳分辨率。
随后,定制图像会被自动调整大小,以更好地匹配训练数据的特征。
这个方法旨在提升模型在真实场景中遇到的图像的性能。
然而,需要注意的是,该模型可能不能在处理极大图像时达到最佳效果。
因此,在拍摄图片之前,不建议进行过度放大。

报错解决

报错1

运行latexocr时,报错

1
Cannot mix incompatible Qt library (6.7.1) with this library (6.7.0)

这是安装latexocr后运行时出现的问题。

解决方法

命令行窗口输入代码:

1
pip install PySide6==6.7.0

将对应的版本号改成报错问题的版本号就行,
比如,版本号是6.7.0。
更新完后,再在命令行窗口输入latexocr,软件界面弹出。

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

继开 wechat
欢迎加我的微信,共同交流技术