Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“œ Bold Text to Braille Converter

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.

πŸš€ Features

  • βœ… 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 6 for 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.

πŸ“Œ How It Works

1️⃣ Image Processing Pipeline

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.

2️⃣ Text Capture Instructions

  • πŸ“Œ 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.

πŸ“œ Applications

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.

πŸ— Future Developments

  • πŸ”Ή 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.

πŸ–Ό Debugging & Logs

πŸ“‚ If DEBUG_MODE = True, the script saves intermediate images in debug_images/ for analysis.


πŸ“œ Example Output

=== RESULTS ===
Detected Text: FIELD PROJECT
Braille Equivalent: β ‹β Šβ ‘β ‡β ™ β β —β •β šβ ‘β ‰β ž

<img width="1284" alt="image" src="https://github.com/user-attachments/assets/8ebdefc3-5b29-481a-b316-cfba707f355a" />



🀝 Contributing

  1. Fork the repository
  2. Create a new branch (feature-xyz)
  3. Commit changes (git commit -m "Added new feature")
  4. Push to the branch (git push origin feature-xyz)
  5. Open a Pull Request πŸš€

πŸ“œ License

This project is licensed under the MIT License.

About

Develop a system that captures text input using a camera, converts it into Braille, and represents the Braille characters using servo motors, allowing visually impaired individuals to feel the text.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages