| import requests | |
| from PIL import Image | |
| from pix2tex.cli import LatexOCR | |
| from PIL import Image | |
| from io import BytesIO | |
| import streamlit | |
| model = LatexOCR() | |
| streamlit.set_page_config(page_title="LaTeX-OCR") | |
| streamlit.title("LaTeX OCR") | |
| streamlit.markdown( | |
| """ | |
| Convert images of equations to corresponding LaTeX code. | |
| This is based on the `pix2tex` module. Check it out [](https://github.com/lukas-blecher/LaTeX-OCR) | |
| --deployed by [C0MM4ND](https://github.com/c0mm4nd), code [here](https://huggingface.co/spaces/c0mm4nd/LaTeX-OCR/tree/main) | |
| """ | |
| ) | |
| 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"): | |
| image = Image.open(BytesIO(uploaded_file.getvalue())) | |
| try: | |
| result = model(image, resize=False) | |
| streamlit.code(result, language="latex") | |
| streamlit.markdown(f"$\\displaystyle {result}$") | |
| except Exception as e: | |
| streamlit.error(e) | |
| else: | |
| streamlit.error("Please upload an image.") | |