English is not my first language and because of that, my English vocabulary is not that great. My weak vocabulary reflects especially when I am reading a book. English authors use extensive vocabulary in there books and some time that requires me to google meaning (using my smartphone) almost in every paragraph. Due to this, I find myself distracted and lose interest in reading very easily.
This time I am not giving up! I found this extremely interesting book and if I finish it then it would be my first book that I have read from start to finish, a challenge for me.
Lets solve this problem.My Solution
I am hardwired to solve any problem from an engineer's perspective (not always a good approach), so my solution, in a nutshell, is to make a dumb version of Google Translate.
Point a finger at a word and Boooooom! you get the meaning of that word on your screen. Just glance at it and carry on reading.
My ultimate goal is to use my finger to point to a word but that turned out to be a little difficult. My finger detection algorithm is not that reliable therefore, for now, I am using the back of a pencil (colour detection) as a pointer instead of my finger.Hardware
This solution is mostly software in nature but it involves a little bit of hardware. You do not have to use the exact parts I have used. The software should work on any computer as long as that computer is able to run a python program. The minimum hardware you need to make this project are
- A computer: I am using a Raspberry Pi
- A screen: I am using a Raspberry Pi screen
- A camera: I am using a Raspberry Pi's high-quality camera
- A pointer: I am using the back of a pencil to indicate a word
The software used in this project is the Python code. so at least, you will need the Python interpreter installed on your computer.
All the software related information is mentioned in my Github repository.How it Works
The working of the software is simple. The reader uses the back of the pencil to point to a word whose meaning they want to know. The camera captures the text and the back of the pencil and sends it to the computer. The computer identifies the location of the back of the pencil and determines the word to which it is pointing. It extracts that word from the text and gathers its meaning from the internet and displays it via a screen.Demo
The Open Dictionary is still in its infancy and that is why you will notice few bugs in the demo video. I will keep working on this project and improve its performance along with general bug fixes.Next Step
This project is still not complete. It requires some updates and they are
- Use a finger as a pointer instead of the back of the pencil.
- Make the GUI better.
- Make better/compact hardware.
- General bugs and performance improvement.
- 28/03/2021: Designed and printed a new stand. I have a feeling that I may need to redesign it because the camera is not high enough.