Skip to content

An application that classifies handwritten letters, translates them to STL files and then to gcode, which is sent to a 3D printer to be printed as braille characters.

Notifications You must be signed in to change notification settings

ashsProjects/Handwriting_to_3DPrinted_Braille

Repository files navigation

Handwriting_to_3DPrinted_Braille

This is a project that takes in a handwritten word, parses it using a neural network to letters, and prints the braille-equivalent 3D-printed word. This is done using a Raspberry Pi that coordinates the device used to upload the image onto the Pi and a 3D printer.

Report

Download the report here: Handwritten Letters to 3D-Printed Braille Letters Report

Directories:

  1. ArchivedImages A folder for archived images containig all contours of the letters
  2. CombinedSTL A folder for the combined stl file generated by Print_STL.py and the gcode generated by slic3r
  3. ImagesForTesting Testing images; not required for the project
  4. IndividualLetters A folder for the individual letters generated by Process_Image.py using openCV; emptied afetr running the project
  5. InputImages A folder for the image to be printed; emptied after running the project
  6. STLfiles A folder containing the stl files used for combining braille letters; models for a-z

Files

  1. EMNIST_Letters_CNN.ipynb The notebook used to train and test the cnn model used to classify the handwritten letters
  2. letters_cnn_classifier.h5 A classifier for all letters and digits; 62 labels; ~88% accuracy
  3. letters_only_cnn.h5 A classifier for only the letters, no digits; ~87% accuracy
  4. Main.py Manages all of the other scripts. It will end after the gcode has been sent to the Pi for further processing
  5. Print_STL.py Matches all letters to stl files and combines them together side by side in the y direction
  6. Process_Image.py Preprocesses the input image and separates letters into the IndividualLetters folder after finding contours
  7. requirements.txt Python modules used for the project
  8. Send_Gcode_to_Pi.py Used to slice the stl file into a gcode file used by the 3D printer and send that file to the Raspberry Pi; requires ssh to transmit gcode to Pi and execute the Send_to_Printer.py file from the Pi's shell
  9. Send_to_Printer.py Uses pyserial to send the gcode to the 3D printer using the open port on the Raspberry Pi

Dependencies

  • Python version >= 3.11
  • Slic3r Win32-64x

Test and Run

Clone the repository using:

$ git clone https://github.com/ashsProjects/Handwriting_to_3DPrinted_Braille.git

Download required modules using pip:

$ pip install -r Requirements.txt

Run the program:

$python Main.py

About

An application that classifies handwritten letters, translates them to STL files and then to gcode, which is sent to a 3D printer to be printed as braille characters.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published