LaTeX-OCR / app.py
lukbl's picture
Update app.py
6c5e7b6
raw history blame
No virus
1.52 kB
import os
from PIL import Image
import streamlit
os.system('pip install pix2tex')
from pix2tex.cli import LatexOCR
from munch import Munch
args = Munch({'config': 'settings/config.yaml',
'checkpoint': os.path.realpath(os.path.join(os.path.dirname(__file__), 'checkpoints/weights.pth')),
'no_resize': False})
model = LatexOCR(args)
if __name__ == '__main__':
streamlit.set_page_config(page_title='LaTeX-OCR')
streamlit.title('LaTeX OCR')
streamlit.markdown(
'Convert images of equations to corresponding LaTeX code.\n\nThis is based on the `pix2tex` module. Check it out [![github](https://img.shields.io/badge/LaTeX--OCR-visit-a?style=social&logo=github)](https://github.com/lukas-blecher/LaTeX-OCR)')
uploaded_file = streamlit.file_uploader(
'Upload an image an equation',
type=['png', 'jpg'],
)
if uploaded_file is not None:
image = Image.open(uploaded_file)
streamlit.image(image)
else:
streamlit.text('\n')
if streamlit.button('Convert'):
if uploaded_file is not None and image is not None:
with streamlit.spinner('Computing'):
try:
latex_code = model(image)
streamlit.code(latex_code, language='latex')
streamlit.markdown(f'$\\displaystyle {latex_code}$')
except Exception as e:
streamlit.error(e)
else:
streamlit.error('Please upload an image.')