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.
Download the report here: Handwritten Letters to 3D-Printed Braille Letters Report
- ArchivedImages A folder for archived images containig all contours of the letters
- CombinedSTL A folder for the combined stl file generated by Print_STL.py and the gcode generated by slic3r
- ImagesForTesting Testing images; not required for the project
- IndividualLetters A folder for the individual letters generated by Process_Image.py using openCV; emptied afetr running the project
- InputImages A folder for the image to be printed; emptied after running the project
- STLfiles A folder containing the stl files used for combining braille letters; models for a-z
- EMNIST_Letters_CNN.ipynb The notebook used to train and test the cnn model used to classify the handwritten letters
- letters_cnn_classifier.h5 A classifier for all letters and digits; 62 labels; ~88% accuracy
- letters_only_cnn.h5 A classifier for only the letters, no digits; ~87% accuracy
- Main.py Manages all of the other scripts. It will end after the gcode has been sent to the Pi for further processing
- Print_STL.py Matches all letters to stl files and combines them together side by side in the y direction
- Process_Image.py Preprocesses the input image and separates letters into the IndividualLetters folder after finding contours
- requirements.txt Python modules used for the project
- 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
- Send_to_Printer.py Uses pyserial to send the gcode to the 3D printer using the open port on the Raspberry Pi
- Python version >= 3.11
- Slic3r Win32-64x
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