In this article I will do a comprehensive guide on how to take apart an idea to the necessary components, and create an mvp (Minimum viable product).
The idea: A program that reads aloud a paper that was scanned by a desktop scanner. That, in order to help blind people understanding letters and papers they can’t read by themselves.
Detailing of the idea (how it should work): A blind person puts a paper inside the scanner. When the power button on the scanner is pressed (the scanner turns on), it immediately scans the paper and reads it aloud.
The necessary components:
1. Interfacing with the scanner – make the scanner scan papers and save them in a predefined path.
2. Text recognition in an image – making a text from an image.
3. Text to speech component – reading the text and reading it out loud with the speakers.
Choosing the right tech for your project:
Because of the requirements, as the speed of development and the components I mentioned before, I chose to write a piece of code in Python using existing libraries that will save me some work.
For each component I found a library that does that in the best possible way I could find on Google.
1. Interfacing with the scanner – PyInsane 2 https://github.com/openpaperwork/pyinsane.
2. Text recognition in an image – pytesseract 0.2.0 https://pypi.python.org/pypi/pytesseract.
3. Text to speech component – Pyttsx https://pythonprogramminglanguage.com/text-to-speech/, https://pyttsx.readthedocs.io/en/latest/install.html.
In the next part, I will describe how to install each library and use it to our purpose, which turned out not to be as easy as it might sound…