macOS使用pix2tex代替Mathpix识别LaTeX公式

1. 前言

Mathpix 1 是一款年订阅制的收费软件,用于转换图片中公式成 LaTeX 代码。

LaTeX-OCR 或 pix2tex 2 是 Python 开源的工具,也可以转换图片中公式成 LaTeX 代码。

2. 安装步骤

  1. Python 版本需要 Python 3.7+,终端输入:
pip install "pix2tex[gui]"
  1. 将以下 Python 代码保存为 LaTeXOCR.py
from PIL import Image
from pix2tex.cli import LatexOCR

img = Image.open('image.png')
model = LatexOCR()
print(model(img))
  1. 截图公式,保持为和LaTeXOCR.py同路径下的 image.png 文件

  2. 运行 python LaTeXOCR.py

/Users/name/anaconda3/lib/python3.9/site-packages/scipy/__init__.py:155: 
UserWarning: A NumPy version >=1.18.5 and <1.25.0 is required for this version 
of SciPy (detected version 1.26.2
  warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion}"
download weights v0.0.1 to 
path /Users/name/anaconda3/lib/python3.9/site-packages/pix2tex/model/checkpoints
weights.pth: 100%|███████████████████████████| 97.4M/97.4M [00:24<00:00, 4.12Mb/s]
image_resizer.pth: 100%|█████████████████████| 18.5M/18.5M [00:04<00:00, 3.98Mb/s]
\ell=\sqrt{r^{2}+r^{\prime2}-2r r^{\prime}\cos\psi^{\prime}}

最后一行,即为 LaTeX 代码。

注意⚠️:如果出现以下错误 3

TypeError: 'numpy._DTypeMeta' object is not subscriptable

可通过更新 numpy 解决:

pip install numpy --upgrade

3. 参考

  1. Mathpix: AI-powered document automation
  2. lukas-blecher: LaTeX-OCR
  3. python - TypeError: ’numpy._DTypeMeta’ object is not subscriptable - Stack Overflow