This project captures bold text from a webcam, processes it using OpenCV for optimal OCR accuracy, extracts the text with Tesseract OCR, and converts it to Braille using a predefined dictionary. The future goal is to integrate a micro servo motor system to emboss the Braille output onto a tactile surface, making the text physically readable.
- β Optimized Preprocessing β Uses Otsu's thresholding and morphological operations for better text detection on white backgrounds.
- β Noise Reduction β Removes small artifacts and enhances contrast.
- β
OCR Tuning β Uses
--psm 6for paragraph-level recognition and limits detected characters to English letters. - β Braille Conversion β Converts extracted text into Braille symbols.
- β
Debug Mode β Saves intermediate images (
grayscale,binary,denoised,enlarged) for troubleshooting. - β Future Physical Braille Output β Planned integration with a servo-based embossing system.
1οΈβ£ Convert to Grayscale β Converts image to black & white.
2οΈβ£ Thresholding (Otsu's) β Segments text from background.
3οΈβ£ Morphological Operations β Removes noise and enhances text edges.
4οΈβ£ Upscaling β Enlarges the image for better OCR accuracy.
5οΈβ£ OCR Extraction β Detects text using Tesseract with --psm 6.
6οΈβ£ Braille Conversion β Converts extracted text to Braille characters.
- π Hold the text 20-30 cm away from the camera.
- π Ensure even lighting (avoid shadows).
- π Use bold text (size 48+) on a plain white background.
- π Press 's' to capture and convert text.
- π Press 'q' to exit the program.
This project is useful in various accessibility and assistive technologies, including:
- πΉ Education for the Visually Impaired β Helps convert printed or digital text into tactile Braille.
- πΉ Instant Braille Translation β Captures and converts text in real-time using a webcam.
- πΉ Smart Reading Devices β Can be integrated into reading devices for the blind.
- πΉ Automated Braille Printers β Future goal is to control a micro servo motor system that embosses the detected Braille onto a tactile surface.
- πΉ Micro Servo-Based Braille Output β Utilize a servo array to emboss Braille on paper or a refreshable tactile display.
- πΉ Support for More Languages β Enhance Tesseract OCR for multilingual recognition.
- πΉ Advanced AI-based OCR β Train a deep learning model for better text recognition accuracy.
- πΉ GUI-based Interface β Make the application more user-friendly.
- πΉ Handwritten Text Support β Enhance processing to work with handwritten documents.
π If DEBUG_MODE = True, the script saves intermediate images in debug_images/ for analysis.
=== RESULTS ===
Detected Text: FIELD PROJECT
Braille Equivalent: β β β β β β β β β β β β
<img width="1284" alt="image" src="https://github.com/user-attachments/assets/8ebdefc3-5b29-481a-b316-cfba707f355a" />
- Fork the repository
- Create a new branch (
feature-xyz) - Commit changes (
git commit -m "Added new feature") - Push to the branch (
git push origin feature-xyz) - Open a Pull Request π
This project is licensed under the MIT License.