Reconfigurable Virtual Keyboard based on Image processing

DOI : 10.17577/IJERTCONV3IS06013

Download Full-Text PDF Cite this Publication

Text Only Version

Reconfigurable Virtual Keyboard based on Image processing

Tushar Naykodi1, Abhilash Patil2, Kiran Sase3, Sitesh Singh4

Electronics and Telecommunication Department, Bharati Vidyapeeth College of Engineering, Navi Mumbai.

Abstract- This paper presents Reconfigurable Virtual Keyboard based on Image Processing technique. As the name suggests the virtual keyboard has no physical appearance. Virtual keyboard is an application which virtualizes hardware keyboard with different layouts hence allowing user to change the layout based on application. E.g. user can select different language for editor or select a specialized layout for gaming applications.


    As the demand for computing environments evolves, new human-computer interfaces have been implemented to provide multiform interactions between users and machines. Nevertheless, the basis for most human-to-computer interactions remains the binomial keyboard/mouse. We are presenting here a next generation technology, which is the Virtual Keyboard. As the name suggests the virtual keyboard has no physical appearance.

    Off late, computing devices are evolved in different shapes like cell phone, PDA, iPod etc. In these devices, it is not possible to afford hardware keyboard because of the limitations in size and weight of devices. To alleviate this problem, application developers propose virtual keyboard. The virtual keyboard is an on screen graphics keyboard and is flexible to compare with its hardware keyboard counterpart. For computing devices like cell phone & iPod, we dont use extra hardware. We use their built in camera to capture image but we require projection module and sensing module which is available in very compact size as compared to hardware keyboard. The keyboard layout can be changed hence allowing user to change the layout based on application. E.g. user can select different language for editor or select a specialized layout for gaming applications. User also is able to reconfigure the keyboard. This would allow the user to set the keypad layout according to his preferences.


    The system is providing different layouts which are required for custom applications. User can create a layout profile according to his preferences and then save them onto a file. These files can be loaded later or shared between users. E.g. one could create a separate profile for gaming and a different profile for text editing purpose. Allow user to use newly designed symbol for e.g. new symbol for Indian currency (rupees).

    Blob detection: First the image i.e. character is capture by the webcam through sensor then that image is store temporarily. Now given image converted into black and white colour using

    Greyscale algorithm. Greyscale digital image is an image in which the value of each pixel is a single sample. Then Thresholding algorithm is apply on the Greyscaled image to differentiate the object from the background. Thresholding is the simplest method of image segmentation. This process is iterative type that means the process repeat on every object entry and the object nothing but input given by the user.

    By using Threshold algorithm we can identifies the character given by user. Using this technique we identify our figure tip.

    Object detection

    Keystroke detection: The key press coordinate needs to be mapped to a key scan code. This is accomplished by scaling and transforming the coordinates such that the boundaries of the keyboard in image space correspond to the sides of a rectangle

    equal in size to the 2D array of scan codes. The transformed coordinate is rounded down to the nearest integer to produce the array indices of the corresponding key code. When the user wants to press a key, what he has to do is simply place his finger at the appropriate position in the frame, in other words on the virtual keypad and the desired key will be pressed.

    Initialize all system variables and


    Initialize all system variables and



    Present GUI to user Capture frame from webcam

    If frame captured?


    Process the frame (convert into


    Process the frame (convert into


    Display the frame on GUI

    Apply colour filter Apply Erode


    Basically image processing is any form of signal processing for which the input is an image, such as a photograph or video frame; the output of image processing may be either an image or, a set of characteristics or parameters related to the image. Image processing usually refers to digital image processing, but optical and analog image processing also are possible.

    By using the proposed system, the keyboard layout can be generated using a laser film no hardware or an alphanumeric keypad hardware version. The image being displayed on the keyboard is scanned via a camera connected to the computer. An image processing application will then detect the key press events by user and process them

    accordingly. User can design his own layout in hardware NO version. User must be able to reconfigure the keyboard. i.e. the

    application allow the user to map keys based on his preference.

    This would allow the user to set the keyboard layout according to his preferences.

    There are 3 modules:

    • Image Capturing

    • Processing

    • Display

    These modules does the processing when the layout is provided the module does some processing on the image captured by the

    webcam. After processing this layout is stored temporarily. When the user select character from the keyboard and gives some input, the character is captured by the camera, processing is done on the character, location of the character is checked.

    The provided input and the stored character is compared and the desired output is displayed on the screen.

    Apply Dilate

    Apply Smoothing

    Apply Thresholding

    Detect Blob


    If blob size

    > limit?


    Mark the blob and calculate centroid

    Resolve cases for key code Generate key event in the O.S.


    With the growing popularity of small mobile devices, there is a need for convenient data entry units that are easy to use and considerably flexible to handle with the small mobile devices without affecting the mobility and portability of those devices. Many alternative data input methods and various types of

    virtual keyboards are available. However, these methods have the lack of accuracy and the convenience of a normal full size keyboard. In order to address some of the issues raised above, a new projection virtual keyboard called Reconfigurable Virtual Keyboard. It provides a simple touch typing style with the use of paper layout keyboard & webcam. The Reconfigurable virtual keyboard is more convenient in gaming application but it take more time in comparison of input character with database character. Due to tis its processing is slow. By using this system we can create keyboard layout as per our convenience. So, its cost also less than existing keyboard. This system is very easy to use and in security purpose it better than the existing keyboard.


  1. Celluon keyboard

    ( review/28342/) An Introduction to Virtualization by Amit.

  2. ( Yael Ben-Haim &

    Elad Tom-Tov A Streaming Parallel Decision Tree Algorithm IBM Haifa Research Lab, Journal of Machine Learning Research 11 (2010) 849-872

  3. Brouk, Kamal Alameh Design and Characterization of CMOS/SOI Image Sensors, IEEE TRANSACTIONS ON ELECTRON DEVICES, VOL. 54, NO. 3,

    MARCH 2007


    ( roduct_id=931#.U0rB4vTIuuI)


  6. al-keyboard

  7. Kolsch, M. and Turk, M., Keyboards without Keyboards: A survey of Virtual Keyboards n. pag., University of California, Nov. 05, 2003

    ( d_Turk_SIMS.pdf)

  8. Lawrence Erlbaum Associates Inc., Human Computer Interaction, pp89129, 2002

    ( hHCIGalley.pdf)

  9. Alpern, M., Projection Keyboards, Oct. 28, 2003 ( projectionKeyboards.html)

  10. Baxes, G. A. Digital Image Processing Principles and Applications, America, 1994.

  11. Gonzalez, R. and Woods, Digital Image Processing India, 2002.

  12. Wijewantha N. S., VistaKey: A Keyboard Without A Keyboard A Type Of Virtual Keyboard Final year project thesis, Informatics Institute of Technology, Wellawatta, Sri Lanka, April 2004.

  13. Hirsh, L., Virtual Keyboard Replicates Real Typing, Oct. 23, 2003 ( 62.html)

  14. Wrolstad, J., Laser Device Projects Full-Size Keyboard for Handhelds, Oct. 28, 2003

    ( 56.html)

  15. Khar, A., Virtual Typing, Oct. 28, 2003 ( 0402.asp)

Leave a Reply