-
2022-01-29 16:04:23
Mathpix 是优秀的img2latax工具,对于普通用户来说每月有50-100次免费机会,对于需求量大的用户无法满足需求。有一种方法是调用Mathpix官方的API,每月1000次免费机会。
概述
Mathpix是一款跨平台(Windows、macOS、Linux)的 OCR 工具,它能够识别复杂的数学公式,并将其转换为 LaTeX 语法。
LaTeX 是一个十分强大切流行的排版系统,除了能编写数学公式,还能非常完整的撰写学术论文,并且被国际各大机构接受,但一直以入门难著称。
Mathpix 能够直接截取数学公式的图片,将截图转换为 LaTeX 语法,非常简单方便,并且支持三大主流系统。
- 当前Mathpix收费,无限次识别的Pro账户每个月需要4.99$
- 但是如果调用Mathpix的API的话,每个账户每个月的前 1000 次请求免费;随后的第 1-100 千次,每次 0.004 美元;第 100- 300 千次,每次 0.002 美元。这种收费模式显然比较合理,至少每个月有1000次的免费调用机会。
- 官网链接:https://mathpix.com/
注册账号
- https://accounts.mathpix.com/login
- 注册 MathPix 账号
- 登录账号
创建API
- 选择 OCR API
- 接受一个激活协议
- 使用信用卡激活
-
此处只能使用信用卡
- 卡号填卡号
- 日期填卡上的日期
- CVC是卡背面数字的后三位
-
此处会有1$的消费
-
成功后会获得
App ID
和App Key
调用官方API
- 官方文档 https://docs.mathpix.com
- API的示例https://github.com/Mathpix/api-examples
- 核心调用代码(python):
import os import requests env = os.environ default_headers = { 'app_id': env.get('APP_ID', '你的APP_ID'), 'app_key': env.get('APP_KEY', '你的APP_KEY'), 'Content-type': 'application/json' } service = 'https://api.mathpix.com/v3/latex' ... r = requests.post(service, data=json.dumps(args), headers=headers, timeout=timeout) return json.loads(r.text)
python 桌面应用
- 我们使用一位大佬的python应用为例
- https://github.com/Joshua-li-yi/img2latex
- 代码中
def grapclipboard(self):
应为def grabclipboard(self):
- 代码中
- 代码如下:
env = os.environ
default_headers = {
‘app_id’: env.get(‘APP_ID’, ‘你的APP_ID’),
‘app_key’: env.get(‘APP_KEY’, ‘你的APP_KEY’),
‘Content-type’: ‘application/json’
}service = ‘https://api.mathpix.com/v3/latex’
class Img2Latex(QWidget):
def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 800, 700) self.setWindowTitle('Img2Latex') # copy latex self.Latex1copyBtn = QPushButton() self.Latex2copyBtn = QPushButton() self.Latex3copyBtn = QPushButton() # set copy btn icon self.Latex1copyBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\copy.png")) self.Latex2copyBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\copy.png")) self.Latex3copyBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\copy.png")) # edit latex self.Latex1EditBtn = QPushButton() self.Latex2EditBtn = QPushButton() self.Latex3EditBtn = QPushButton() # set edit btn icon self.Latex1EditBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\edit.png")) self.Latex2EditBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\edit.png")) self.Latex3EditBtn.setIcon(PyQt5.QtGui.QIcon(r".\img\edit.png")) # img to latex convert btn self.img2latexBtn = QPushButton('convert') # show the picture on clipboard self.imgLable = QLabel() # show the formula in latex self.Latex1Edit = QLineEdit() self.Latex2Edit = QLineEdit() self.Latex3Edit = QLineEdit() self.Latex1Edit.setEnabled(False) self.Latex2Edit.setEnabled(False) self.Latex3Edit.setEnabled(False) # # show the convert latex result # self.reviewImgLable = QLabel() # self.reviewImgLable.setStyleSheet("border: 2px solid red") grid = QGridLayout() grid.setSpacing(20) # 排版 grid.addWidget(self.imgLable, 1, 0, 5, 3) grid.addWidget(self.img2latexBtn,6,0,1,2) grid.addWidget(self.Latex1Edit, 7, 0) grid.addWidget(self.Latex1copyBtn, 7, 1) # grid.addWidget(self.Latex1EditBtn, 7, 2) grid.addWidget(self.Latex2copyBtn, 8, 1) grid.addWidget(self.Latex2Edit, 8, 0) # grid.addWidget(self.Latex2EditBtn, 8, 2) grid.addWidget(self.Latex3copyBtn, 9, 1) grid.addWidget(self.Latex3Edit, 9, 0) # grid.addWidget(self.Latex3EditBtn, 9, 2) # grid.addWidget(self.reviewImgLable, 10, 0, 4, 3) self.setLayout(grid) # sign and slot # img to latex convert self.img2latexBtn.clicked.connect(self.convert) # copy latex self.Latex1copyBtn.clicked.connect(self.copyLatex1) self.Latex2copyBtn.clicked.connect(self.copyLatex2) self.Latex3copyBtn.clicked.connect(self.copyLatex3) # edit latex # self.Latex1EditBtn.clicked.connect(self.Latex1EditImg) # self.Latex1Edit.textChanged.connect(self.Latex1EditImg) # self.Latex2EditBtn.clicked.connect(self.Latex2EditImg) # self.Latex2Edit.textChanged.connect(self.Latex2EditImg) # self.Latex3EditBtn.clicked.connect(self.Latex3EditImg) # self.Latex3Edit.textChanged.connect(self.Latex3EditImg) # beautify the window self.Beautify() self.show() def Beautify(self): self.setWindowOpacity(0.9) # 设置窗口透明度 # self.setAttribute(qtpy.QtCore.Qt.WA_TranslucentBackground) # 设置窗口背景透明 # self.setWindowFlag(qtpy.QtCore.Qt.FramelessWindowHint) # 隐藏边框 pe = PyQt5.QtGui.QPalette() self.setAutoFillBackground(True) # pe.setColor(PyQt5.QtGui.QPalette.Window, Qt.Black) #设置背景色 pe.setColor(PyQt5.QtGui.QPalette.Background, Qt.black) self.setPalette(pe) self.imgLable.setStyleSheet( ''' QLabel{ border: 2px solid red; border-radius:15px; padding:2px 4px; background-color:#aaa; }''') self.Latex1Edit.setStyleSheet( '''QLineEdit{ border:1px solid gray; border-radius:10px; padding:2px 4px; background-color:#ddd; height:35px; font-color:black; font-weight:1000; font-size:24px }''') self.Latex2Edit.setStyleSheet( '''QLineEdit{ border:1px solid gray; border-radius:10px; padding:2px 4px; background-color:#ddd; height:35px; font-color:black; font-weight:1000; font-size:24px }''') self.Latex3Edit.setStyleSheet( '''QLineEdit{ border:1px solid gray; border-radius:10px; padding:2px 4px; background-color:#ddd; height:35px; font-color:black; font-weight:1000; font-size:24px }''') self.Latex1copyBtn.setStyleSheet( '''QPushButton{ border:1px solid gray; border-radius:4px; padding:5px 5px; height:35px }''') self.Latex2copyBtn.setStyleSheet( '''QPushButton{ border:1px solid gray; border-radius:4px; padding:5px 5px; height:35px }''') self.Latex3copyBtn.setStyleSheet( '''QPushButton{ border:1px solid gray; border-radius:4px; padding:5px 5px; height:35px }''') self.img2latexBtn.setStyleSheet( '''QPushButton{ border:2px solid gray; border-radius:10px; padding:5px 5px; background-color:#555; font-size:24px; font-color:#fff; font-weight:700; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }''') # # Return the base64 encoding of an image with the given filename. # def image_uri(self,filename): image_data = open(filename, "rb").read() return "data:image/jpg;base64," + base64.b64encode(image_data).decode() # Call the Mathpix service with the given arguments, headers, and timeout. def latex(self,args, headers=default_headers, timeout=30): r = requests.post(service, data=json.dumps(args), headers=headers, timeout=timeout) return json.loads(r.text) def convert(self): self.grapclipboard() r = self.latex({ 'src':self.image_uri(r".\img\equa.png"), 'formats': ['latex_simplified'] }) # print(r['latex_simplified']) latex1 = r['latex_simplified'] # test # latex1='111' latex2 = '$' + latex1 + '$' latex3 = '$$' + latex1 + '$$' self.Latex1Edit.setText(latex1) self.Latex2Edit.setText(latex2) self.Latex3Edit.setText(latex3) def copyLatex1(self): # get the latex formula text = self.Latex1Edit.text() # copy it to clipboard pyperclip.copy(text) def copyLatex2(self): text = self.Latex2Edit.text() pyperclip.copy(text) def copyLatex3(self): text = self.Latex3Edit.text() pyperclip.copy(text) # # 识别剪贴板公式 # def grabclipboard(self): im = ImageGrab.grabclipboard() im.save(r'.\img\equa.png', 'PNG') self.imgLable.setPixmap(PyQt5.QtGui.QPixmap(r'.\img\equa.png')) # # 为程序添加快捷键 # # 可以自己定义 def keyPressEvent(self, event): if (event.key() == Qt.Key_T)and(event.modifiers() == Qt.AltModifier): self.convert() if (event.key() == Qt.Key_C)and(event.modifiers() == Qt.AltModifier): self.copyLatex3()
if name == ‘main’:
app = QApplication(sys.argv)
ex = Img2Latex()
sys.exit(app.exec_())</details> - 需要将自己的 ID 和 Key 填入代码中 ### 示例效果  ### 参考资料 - https://blog.csdn.net/weixin_44984664/article/details/105242426 - https://geomatlab.com/mathpix-api/
更多相关内容 -
mathpix替代品终于找到了
2021-01-06 22:28:15mathpix的强大功能用的人都懂,升级后穷学生党用不起,但又不能不用的抓耳挠腮感,懂的人自然也懂。 刚知乎上发现一个公众号,同样可以将图片公式转换为letax代码形式输出,只需首次少量打赏就可以每个月使用1000次... -
替代mathpix的免费高速公式识别软件.zip
2020-08-04 21:47:28一款替代mathpix的免费高速公式识别软件;现在mathpix很坑,普通用户一个月只能识别50次,写论文的时候次数严重不够,这时候就很捉急。这款可以替代math pix的免费高速公式识别软件可以解决你的急迫需求 -
mathpix_snipping_tool_setup.exe
2021-09-17 14:04:09mathpix_snipping_tool_setup工具 -
Mathpix Snipping Tool软件
2020-12-04 15:33:29截图数学公式生成latex,注册需要到官网Mathpix Snipping Tool注册。 -
Mathpix软件安装包
2019-04-17 13:14:02在 Linux、macOS、Windows 系统下使用 Mathpix 可以截取到复杂数学方程式的截图,并可以转换成 LaTeX 可编辑文本,在写学术及科学文献时经常会用到。编写 LaTeX 文档最麻烦的部分是那些复杂的方程式,使用 Mathpix ... -
Mathpix Snipping Tool.rar
2021-09-06 07:47:01数学公式截图,方便快捷撰写论文 -
mathpix_snipping_tool_setup.zip
2020-04-03 15:17:35使用 Typora 完成各种文章与笔记,需要...其实用 LaTex 表达式写数学公式还是挺麻烦的,使用有 Mathpix,只要按快捷键 Ctrl+Alt+M 即可对图片截图,公式会自动转化为 LaTex 表达式,我们只需要简单地修改修改就行了。 -
mathpix_snipping_tool_setup20190925.rar
2019-09-25 14:04:14Mathpix Snip 这款神器只要截个图,公式会自动转化为 LaTex 表达式,我们只需要简单地修改就行了。按快捷键:CTRL+ALT+M,即可开始截图,甚至手写的都可以识别,对公式截图后,软件能自动识别并生成latex代码。使用... -
Mathpix Snipping Tool.7z
2020-01-06 17:22:41这个工具可以直接将图片中的公式抠出来,粘贴到mathtype中,然后再粘贴到word中,就可以直接用了。粘贴出来的公式的准确度非常高。 用法,直接运行压缩包里的exe文件,注册后,拖入图片,点copy,在mathtype中粘贴... -
mathpix_snipping_tool_setup.exe.zip
2020-04-11 10:52:36图片公式截图一键转换为LaTeX公式代码,100%成功率,科研必备,效率高到飞起! -
vscode-mathpix-markdown:启用具有乳胶和化学支持的渲染Mathpix Markdown
2021-02-04 13:27:37VSCode Mathpix Markdown扩展 产品特点 启用增强的markdown语法以在markdown预览中呈现 允许在Markdown预览中呈现LaTeX命令的子集 允许在降价预览中呈现SMILES化学语法 扩展安装 该扩展可以通过几种方式安装: 从... -
mathpix.zip 公式输入神器
2019-09-09 14:37:10最新Mathpix 公式录入神器,可以节省你大量的时间 当你遇到想要的公式,可以像截图一样的去使用它 -
mathpix:查询mathpix API以将数学图像转换为LaTeX
2021-02-03 21:39:40mathpix:查询mathpix API以将数学图像转换为LaTeX -
mathpix软件安装包.zip
2021-01-25 19:54:10mathpix软件安装包.zip -
mathpix_snipping_tool_setup.v03.00.0048.exe
2021-08-16 10:35:29截屏识别数学公式软件安装包 -
mathpix安装包(201910月更新)
2019-09-27 14:52:16在 Linux、macOS、Windows 系统下使用 Mathpix 可以截取到复杂数学方程式的截图,并可以转换成 LaTeX 可编辑文本,在写学术及科学文献时经常会用到。编写 LaTeX 文档最麻烦的部分是那些复杂的方程式,使用 Mathpix ... -
Mathpix公式识别OCR软件使用教程
2021-01-06 19:46:44所以就写一篇文章介绍Mathpix的使用方法。 1.打开Mathpix软件后,可以鼠标单击下图中小电脑图标进行截图,也可以使用快捷键Ctrl+Alt+M调用截图; 2.截取所需要的识别的公式图片,比如下图所示公式 3.在Mathpix软件... -
mathpix公式编辑器
2020-03-13 23:48:46收费以后的mathpix,官网下载太慢,转到csdn方便大家下载,欢迎下载,欢迎使用,欢迎使用,欢迎使用!! -
mathpix-markdown-it:Markdown渲染+ Latex Extras(等式,表格等),具有转换功能,适用于科学界
2021-05-01 07:28:45mathpix-markdown-it 什么是Mathpix Markdown? 是Markdown的超集,它为STEM社区添加了有用的语法,例如高级方程式,表格和化学支持。 只要有可能,我们都会从LaTeX借用语法。 在其他情况下(例如化学React),我们... -
科研神器【公式识别】Mathpix Snip教程.zip
2019-07-07 10:56:49Mathpix 是一个漂亮的小工具,它允许你截取复杂数学方程式的截图,并立即将其转换为 LaTeX 可编辑文本。 LaTeX 编辑器在撰写学术和科学文献时非常出色。 -
img2latex-mathpix:MathpixOCR API和JavaFX的LaTeX工具图像
2021-02-03 21:38:35是Mathpix打造的出色应用程序,可帮助您从文档中提取LaTeX,MathML,基本表和文本。 每个月免费为您提供前50个片段(使用.edu或.ac.uk域电子邮件进行注册时为100个片段)。 借助和此辅助应用程序,您现在每月可以... -
mathpix snipping tool
2019-05-05 12:51:16Mathpix可以将获取数学的公式截图转换为LaTeX,官网演示了各个操作系统配合使用的快捷键以及详细步骤,所有这些都只需一个键盘快捷键。为了方便使用,该公司还研发了一个API,可以帮助开发者将 Mathpix 的功能集成到... -
mathpix安装和使用详细教程
2022-04-24 17:18:23mathpix安装和使用详细教程 这里写自定义目录标题mathpix安装和使用详细教程一、下载二、安装三、启动四、 注意事项 一、下载 软件网址:https://mathpix.com 下载页面如图1,根据系统类型点击不同下载按钮. 下载...mathpix安装和使用详细教程
这里写自定义目录标题
一、下载
软件网址:https://mathpix.com
下载页面如图1,根据系统类型点击不同下载按钮. 下载完成后直接安装软件!安装过程中为了随时调用软件在图3的选择界面中勾选两个选项,即在桌面上生成一个启动快捷键图标和开机自动启动软件(自动启动后可以随时调用Mathpix识别转换公式)。二、安装
安装简便,一路Next完成安装后,在最后的窗口建议也保持安装完成后启动软件,需要勾的地方都勾起来,最后点击finish。如图。
三、启动
完成安装并启动Mathpix软件,如果没有启动,则可以在开始菜单中点击“Mathpix Snipping Tool”选项,或双击桌面上的图片启动软件。第一次启动会有一个启动引导界面,一般一路点击“Next”下一步按钮关闭即可。启动后就可以依据上面的步骤选择识别公式了。第一次启动工作窗口如图所示。
根据提示点击右上角图标,或者按下快捷键【CTRL】+【ALT】+【M】,即可开始截取公式图片识别操作了。在软件关闭的情况下,可以双击任务栏小图标打开操作主界面,或者按下快捷键【CTRL】+【ALT】+【O】打开操作主界面。
Mathpix主窗口最下面部分为复制、编辑修改窗口。如图所示。
上面Copy MS Word,点击后将公式代码复制为Word公式编辑器可识别表达式(MathML格式),在Word中按下【Ctrl】+【V】快捷键即可直接粘贴为Word公式,如演示4中的效果。右侧三个按钮分别为将识别的公式复制为PNG图片格式文件(Copy PNG),以PNG格式保存并打开查看(Open PNG),默认图片文件保存在下载文件夹中;最右侧按钮为打开图片格式输出参数,可以设置输出的PNG图片的字体、颜色、背景是否透明、分辨率等参数。下面则为Latex代码显示区,右侧有两列按钮,第一列为复制按钮,点击将对应行的Latex代码复制到剪贴板,并且会在上面显示COPIED,表示已经复制成功。一般来说,Mathpix识别后会自动按照上次复制的选择直接将识别结果复制到剪贴板,如果没有复制,则点击按钮操作;右侧一列为编辑按钮,如果对识别结果不满意,或者略有错误,则可以点击对应编辑框右侧的按钮打开代码编辑框修改识别结果,保存即回到该窗口继续操作。不过修改后,一般就只显示选择修改的Latex一行了,其余Latex行不再显示。当然,如果不满意修改,则可以回到历史记录列表,打开原式识别记录继续操作即可。
四、 注意事项
1.联网操作
特别注意,Mathpix所有操作必须联网操作!只有正确连接互联网才能上传截取的图片。Mathpix不仅能够识别英文,也可以很好地识别中文!
2、电脑、手机多设备同步
另外,值得注意的是,只要是同一个账户登录,在不同的电脑上,手机上识别的记录都会同步到任何一台设备中,这样使用手机拍照,电脑识别与编辑、处理文档就相当方便了。手机就相当于扩展了一个操作非常方便的摄像头,可以用它来拍各种场景下的公式,然后在电脑上调用。
3、转换为Mathtype公式对象
将识别结果以Latex代码粘贴到Mathtype,需要设置Mathtype复制、粘贴的公式数据类型。具体操作如下:点击Mathtype操作窗口的“选项”菜单中的“剪切和复制选项”,打开“转换”对话框,如图10所示。
点击选择“转换其他文字”下点击选择相应的tex文档语言,比如常用的一般选项“Latex2.09 and later”或“Plain tex”,并将下面的两个复选框选择取消,然后点击“确定”。这样设置以后,在公式编辑器中选择需要复制的内容,然后按下【Ctrl】+【C】,或者在选中的内容上点击右键菜单中的“复制”命令,在其他地方粘贴,得到的就是tex代码;同样,从其他地方获得的tex代码直接在公式编辑器中粘贴也会直观显示为公式。参考
神器Mathpix:一步将数学公式、表格、文字图片转换为可编辑文档
https://mp.weixin.qq.com/s/BpkGIM36DxBJAdQe0tjUKA
用WPS公式编辑器高效编辑专业文档中的数学公式
https://mp.weixin.qq.com/s__biz=MzI2OTE2NzczNQ==&mid=2650017257&idx=2&sn=f9d186440389a276961ac24d54f0f2a5&chksm=f2e4d0f1c59359e7116ad12932862a9811d5af90018d3b6c116e261ce84deeea4f5301357a86&scene=21#wechat_redirect -
mathpix.rar
2019-07-02 14:26:03Mathpix Snipping 是款强大的公式编辑神器,只要截图就能自动转化为LaTeX格式。免费使用操作简单,一个快捷键就能转换为LaTex代码,也可以改代码反向操作。 -
mathPix安卓版
2019-04-18 11:22:36mathPix电脑版本拍摄公式自动生成latex格式文档,mathPix拍摄手写公式,直接作图!! 很好的工具