Spaces:
Running
Running
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.') | |