python题目搜索软件_数学公式识别软件

python题目搜索软件_数学公式识别软件数学公式识别无论是做科研、学习笔记、技术分享都是必不可少的,不差钱或者频繁使用的的建议买个

利用python进行数学公式识别

提到数学公式识别,相信大家第一时间肯定能想到神器Mathpix,虽然它很好用很好用很好用,但是价格着实有点贵。虽然Mathpix也提供了接口方便调用,但需要支付绑定费用,价格也从1美元涨到了20美元。

对于频繁使用公式识别的用户,购买一年的Pro账户或者购买api也是可以接受的。但大部分同学应该和我一样,可能在某段时间使用频繁,购买就显得很冤啊。

所以我开始尝试有没有可替代的开源项目,百度总计1000次免费额度(不考虑),腾讯和讯飞的每月有1000次免费额度,但是试用后发现效果不甚理想,而且输出的latex有莫名多的空格。

那就去程序员的宝藏(github)库里翻一翻吧,虽然大多数都是以Mathpix的api进行二次开发的,但还是有不少替代的开源项目,例如**[Pix2Text])**。试用过后发现效果较为理想,以下为python代码:

利用Pix2Text进行公式识别

在开始前,先介绍下虚拟环境。虚拟环境相当于独立分支,该环境下的安装包是独立的,不影响其他环境。由于本安装包的依赖较多,且与当前部分包产生版本冲突。因此采取新增一个虚拟环境进行试用:

  • 安装包:conda install ipykernel,conda install nb_conda
  • 设置虚拟环境:conda create -n p2t python=3.8
  • 重启juuyter
  • 在jupyter新建中选择刚才创建的虚拟环境p2t

在这里插入图片描述

安装过程可能会有些问题,如果是初次使用OpenCV,那估计安装都不会很顺利(作者原话)。以下是我安装过程爬过的坑,如果有同样的情况可以参考。其他情况只能自行谷歌/百度了,一般都能解决。

pip install numpy -- 提前安装好numpy

pip install requests -- 提前安装好requests

pip install pix2text

# 最新版要求os 11,否则报ImportError: dlopen... 错误
# 本机为os 10.15 不考虑折腾mac版本,选择安装旧版本,因此先删除依赖自动安装的最新版opencv

pip uninstall opencv-python -y
pip install opencv-python==4.2.0.34 # 指定4.2旧版本

万事具备,开始根据作者的教程走。安装好 Pix2Text 后,首次使用时系统会自动下载模型文件,并存于 ~/.pix2text目录

def pic2latex(img):
    from pix2text import Pix2Text
    img_fp = img
    p2t = Pix2Text()
    out_text = p2t(img_fp)
    
    print(out_text['text'])

# 首次运行时系统会自动下载模型文件,只需等待即可
pic2latex('1.png')
100%|███████████████████████████████████████████| 1/1 [00:00<00:00, 21.21it/s]


f(x)=\frac{1}{\sqrt{2\pi}\sigma}\mathrm{e}^{-\frac{(x-\mu)^{2}}{2\sigma^{2}}}

复制该latex文本写入markdown,可以正常识别:f(x)=12πσe−(x−μ)22σ2

为了检验效果,这里在网上下了几张公式的图片,验证下识别效果

本文图片来源于网上,读者可自行网络搜集或点击保存图片,如果需要也可微信公众号关注HsuHeinrich,回复关键字【公式识别】自动获取

# 循环识别以下图片
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np

for i in range(1,5):
    img = Image.open(f'{ 
     i}.png')
    m = np.asarray(img)
    plt.figure(figsize=(18,24))
    plt.imshow(m)
    plt.show()
    print('识别结果'+'*'*30)
    pic2latex(f'{ 
     i}.png')

在这里插入图片描述
output_8_0

识别结果******************************


100%|███████████████████████████████████████████| 1/1 [00:00<00:00, 21.77it/s]


f(x)={\frac{1}{\sqrt{2\pi}\sigma}}\mathrm{e}^{-{\frac{(x-\mu)^{2}}{2\sigma^{2}}}}

在这里插入图片描述
output_8_4

识别结果******************************


100%|███████████████████████████████████████████| 1/1 [00:00<00:00, 23.07it/s]


\begin{array}{c}{
  
  {f_{x}(x)=\int_{-\infty}^{\infty}f(x,y)\,\mathrm{d}y=\int_{0}^{1}{\frac{x+2y}{4}}\,\mathrm{d}y}}\\ {
  
  {\ }}\\ {
  
  {\ }}\\ {
  
  {\ }}\\ {
  
  {={\frac{x y+y^{2}}{4}}{\binom{x}{4}}\end{array}^{1}{\binom{x+1}{4}}}}\end{array}

在这里插入图片描述

output_8_8

识别结果******************************


100%|███████████████████████████████████████████| 1/1 [00:00<00:00, 23.38it/s]

十(-1)0-
tanh(-6.
8厂
eaD sinh 3.z2)(e一告J1 -1

1+ 2esD cosh(麦6.72

在这里插入图片描述
output_8_12

识别结果******************************


100%|███████████████████████████████████████████| 1/1 [00:00<00:00, 21.11it/s]


I(Y|X)=\sum_{x\in{\mathcal{A}},\mathfrak{p}\in{\mathcal{Y}}}p(x,y)\log\left({\frac{p(x)}{p(x,y)}}\right)

发现第二张图片和第三张图片无法识别/识别错误。

  • f(x)=12πσe−(x−μ)22σ2
  • 识别异常
  • 明显不对
  • I(Y|X)=∑x∈A,p∈Yp(x,y)log⁡(p(x)p(x,y))

站在巨人的肩膀上

前面发现Pix2Text在特别复杂的公式识别上较差,那有没有更好的开源项目呢?应该是有的,感兴趣的同学可以自行在github中挖掘哈,如果挖掘到宝了还望不吝赐教。

这里介绍两个大佬自行开发的在线公式识别网站:

  • [simpletex]:无限制次数,无需登录,识别效果优于Pix2Text
  • [LaTeX公式编辑器]:B 站科普UP主(妈咪说MommyTalk)搭建,采用Mathpix的API。需要登陆,每日免费次数2次,可付费增加使用次数,识别效果优于simpletex(Mathpix果然是神器)

自学成才

当然了,还有一种一劳永逸的办法,就是学会latex语法。这个LaTeX公式编辑器的**[帮助文档]**写的很清晰,可以学习学习。不过对于复杂的数学公式,还是建议利用这几种方法进行识别。对于简单的数学公式自己手写就足够了,也不是很复杂。

总结

数学公式识别无论是做科研、学习笔记、技术分享都是必不可少的,不差钱或者频繁使用的的建议买个Mathpix,使用体验极佳,偶尔使用或者不想花钱的就可以尝试本文的几种方法。个人建议掌握基础的latex语法,对于简单的公式可以自行手写,稍微复杂的公式可以使用Pix2Text识别或者simpletex在线识别,过于复杂的使用LaTeX公式编辑器在线识别

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

点此免费领取:CSDN大礼包:《python学习路线&全套学习资料》免费分享

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、Python必备开发工具

在这里插入图片描述

三、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、Python练习题

检查学习结果。
在这里插入图片描述
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]]安全链接,放心点击


python题目搜索软件_数学公式识别软件


今天的文章python题目搜索软件_数学公式识别软件分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/81365.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注