2024年Python最新利用python进行数学公式识别_python 识别图片中的数学公式,2024年最新字节跳动技术岗位面试

简介: 2024年Python最新利用python进行数学公式识别_python 识别图片中的数学公式,2024年最新字节跳动技术岗位面试


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

  • 安装包: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)

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

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

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

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。


相关文章
|
12月前
|
存储 监控 API
Python实战:跨平台电商数据聚合系统的技术实现
本文介绍如何通过标准化API调用协议,实现淘宝、京东、拼多多等电商平台的商品数据自动化采集、清洗与存储。内容涵盖技术架构设计、Python代码示例及高阶应用(如价格监控系统),提供可直接落地的技术方案,帮助开发者解决多平台数据同步难题。
|
JSON API 开发者
天猫商品详情API接口技术解析与Python实现
天猫商品详情API(tmall.item_get)通过商品ID获取商品标题、价格、库存、图片、SKU及评价等详细信息,支持HTTP请求与JSON格式返回,适用于电商数据分析与运营。本文提供Python调用示例,实现快速接入与数据解析。
|
11月前
|
数据可视化 大数据 关系型数据库
基于python大数据技术的医疗数据分析与研究
在数字化时代,医疗数据呈爆炸式增长,涵盖患者信息、检查指标、生活方式等。大数据技术助力疾病预测、资源优化与智慧医疗发展,结合Python、MySQL与B/S架构,推动医疗系统高效实现。
|
12月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
1176 19
|
机器学习/深度学习 数据安全/隐私保护 计算机视觉
过三色刷脸技术,过三色刷脸技术教程,插件过人脸python分享学习
三色刷脸技术是基于RGB三通道分离的人脸特征提取方法,通过分析人脸在不同颜色通道的特征差异
|
机器学习/深度学习 算法 API
淘宝图片搜索接口技术解析与Python实现
淘宝图片搜索接口(拍立淘)基于图像识别技术,允许用户上传商品图片查找相似或相同商品。自2014年上线以来,已服务数千万日活用户,显著提升购物体验。接口通过CNN、ANN等技术实现图像预处理、特征提取与相似度匹配,支持多种调用方式与参数设置。本文提供Python调用示例,便于开发者快速集成。
|
数据采集 机器学习/深度学习 数据可视化
Python量化交易:结合爬虫与TA-Lib技术指标分析
Python量化交易:结合爬虫与TA-Lib技术指标分析
|
传感器 算法 数据挖掘
Python时间序列平滑技术完全指南:6种主流方法原理与实战应用
时间序列数据分析中,噪声干扰普遍存在,影响趋势提取。本文系统解析六种常用平滑技术——移动平均、EMA、Savitzky-Golay滤波器、LOESS回归、高斯滤波与卡尔曼滤波,从原理、参数配置、适用场景及优缺点多角度对比,并引入RPR指标量化平滑效果,助力方法选择与优化。
2731 0
|
数据采集 自然语言处理 分布式计算
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
|
JavaScript Java Go
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
Go、Node.js、Python、PHP、Java五种语言的直播推流RTMP协议技术实施方案和思路-优雅草卓伊凡
917 0

热门文章

最新文章

推荐镜像

更多