/SOC_20_Virtual_Keyboard

SoC-2020 Virtual Keyboard

Primary LanguagePython

SOC_20 Virtual Keyboard

This is a project I'am mentoring along with Parth Laturia (https://github.com/ParthLa) as a part of Seasons of Code, Web and Coding Club, IIT Bombay.

manan-keyboard

Project Overview

The project is about making a virtual keyboard that can be projected on any flat surface like a table and then can be used to type in real-time. To start with, we need to program image processing that senses touch at a certain key on the virtual setting of keyboard.This can be achieved by detecting and locating the center position of the light outline to discern and detect the position of finger and then map to keyboard position to achieve relative keyboard key events.

With OpenCV vision library, it is fast to find the finger outline which is get by image camera, the position of finger location and revise the image surface distortion which is caused by image camera.

After that, our task would be to fetch programs for individual as well as combination of keys (ex. Shift + any letter = Capital).

This project is also a little hardware intensive along with the software part as proper calibration, correct positioning of different components and code testing needs to be done at various steps. Hardware testing shall be done by the mentors and mentees who would be in the insti during the summer vacations and the results and changes would be shared with those at home.

References

Teams

Team 1 Team 2 Team 3 Team 4 Team 5 Team 6 Team 7
Aanal Sonara Paarth Jain Aashuraj Hassani Sharvaree Sinkar Aashwin Agarwal Akshat Vira Shri Ishwaryaa SV
Ankit Kumar Jain Harshavardhan Ragade Pavithra Aayush Shrivastav Darin Jeff Devansh Saini Hitesh Wadhwani
Dhanush S Kritin Agarwal Sudhansh Nirmal Shah Bitthal Parida Riya Agarwal Pallavi Kochar
Yash Sharda Tanisha Khandelwal Vishesh Agarwal Harsh Kumar Aditya Vijay Jain Rushil Kopakka Yashika Singhal

Leaderboard

Team Score
. .
. .
. .
. .
. .
. .
. .

Weekly Targets

Week 1 (23rd March - 29th March)

  • Dual Boot your PC and install Ubuntu 18.04 (Recommended but not Necessary).
  • Learn basic use of GitHub (Branching, Forking, Merge, Pull, Push operations).
  • Learn basics of Markdown and make a repository for proper documentation of your progress during the project.
  • Learn using Linux via terminal command lines.
  • Learn Python through the resources given.

Week 2 (30th March - 5th April)

  • Properly document your previous week's progress.
  • Set your hands and get a flow in Python by practicing problems on HackerRank.
  • Formation of teams for upcoming assignment.
  • First assignment on 2nd April
  • Submission of first assignment by 6th April 11:59 PM.
  • Score Evaluation and Updation of Leaderboard.

Week 3 (6th April - 12th April)

  • Evaluation of solutions of assignment 1 (7, 8 April).
  • Documenting previous week's progress on respective GitHub ID's.
  • Start with OpenCV Tutorials.
  • Keep practicing Python problems on HackerRank.