OpenVisionOCR is a lightweight Streamlit web app for image-based text extraction with region selection, multi-language OCR (English, Nepali, Hindi), instant translation, one-click copy, and downloadable scan history.
It works like a simple “Google Lens style” crop-and-scan tool focused on fast local usage.
-
Upload images (
jpg,jpeg,png) -
Interactive region selection (crop any part of the image)
-
Full image scan mode
-
OCR for:
- English
- Nepali
- Hindi
-
Optional translation to:
- English
- Nepali
- Hindi
-
One-click copy buttons for:
- scanned text
- translated text
-
Scan history stored in session
-
Download scan history as CSV
-
Clean UI with custom styling
- Upload an image
- Select a region or enable Full Image Scan
- Click Process & Scan
- Copy extracted text or translated result
- Download your scan history if needed
- Streamlit
- EasyOCR
- Pillow (PIL)
- NumPy
- streamlit-cropper
- deep-translator
- Pandas
Create and activate a virtual environment first.
pip install streamlit easyocr pillow numpy streamlit-cropper deep-translator pandasstreamlit run app.py- English
- Nepali
- Hindi
- English
- Nepali
- Hindi
Auto language detection is used for translation.
- The uploaded image is optionally cropped using an interactive cropper.
- The selected region is converted to a NumPy array.
- EasyOCR extracts text from the image.
- The extracted text can be translated using Google Translator.
- Each scan is stored in Streamlit session state and shown in the history panel.
- The last scans are shown in the Recent Scan History section.
- History can be exported as a CSV file.
- Data is stored only for the current session (not persisted to disk).
- History is not saved permanently.
- OCR accuracy depends heavily on image quality.
- Large images may be slower to process.
openvisionocr/
│
├─ app.py
├─ requirements.txt
└─ README.md
streamlit
easyocr
pillow
numpy
streamlit-cropper
deep-translator
pandas
Choose and add a license file (MIT is recommended for open source projects).