News

25/10/2005  Sources update
Forgot to place T_GeneralVector.pas and T_GeneralMatrix.pas; now they are included in sources archive.

20/10/2005  An article about virtual tablet is published on Hardware Portal
Here is a link (rusian site) http://www.hardwareportal.ru/Handmade/Vtablet/index.html

20/09/2004  Version 1.1 released.
Several bugfixes; mainly for upcoming article.

27/06/2004   Project is closed. Source code available.
Project has proven that this is functioning idea. Some improvemens can be made in current implementation - especially with simple pen,
where some samples can be considered invalid and discarded - but in general, virtual tablet does work. Acconting it's low cost, but low resolution,
lag introduced by video capturing, dependence on light conditions and demand for stiff camera mount - it can be used only for entertainment,
and could became a good addition to software, bundled with web cameras. 

05/05/2004   Version 1.0 is out

 

Overview

    Virtual tablet is a system which consists of piece of paper, pen,
 camera connected to PC, and software.

     Camera, pointed to the piece of paper, tracks pen movement 
(and pressure with a LEDPen), and translates  it to mouse cursor 
movement on PC.
 

 

How does it work ?

   Software uses computer vision algorithms to track color mark on the pen tip.
   Using camera calibration techniques, application maps spatial pen cordinates to 2D screen coordinates.
 
   Any old ball-pen can work with this system - just attach a piece of lime  paper to the tip. This can be used to quickly
check what you can expect from virtual tablet.
 
   With a LEDPen, which is a special hardware that can be assembled easily, tracking is more accurate
 and pressure (on/off) can be measured.

   This system is no way a replacement of professional tablets like Wacom. The maximum possible positioning resolution is
highly dependent on camera resolution and is about 3/8 of camera resolution. Software has an option to work inside
small rectange inside screen to use available resolution as much as possible.

 


How to make a simple pen?

1. Get any old pen.

 

 

2. Get a piece of lime paper.

I found sticky paper usually used for price tags work very well.

In general, any highly saturated color can work. Lime is recommended.

 

 

 

 

3. Attach the piece of paper to the pen's tip.

 

 

3. Done !

Depending on camera resoluton, a bigger piece of paper can be required.

 

 

 

How to make a LEDPen ?

   

1. Get an old pen with deameter about 10mm.

 

2. Get old COM-port mouse.

 

3. Buy a lime LED.

I touched it with a file to make it even smaller.

 

4. Cut the cord from the mouse.

 

 

5. Unscrew the mouse and get switch from it.

 

6. Drill a hole in the pen and insert the switch.

 

When pen touches surface, switch should click.

 

7. Insert LED inside pen's tip and glue it as close to the tip as possible.

I found necessary to cover LED with silver paper from all sides.

This will limit radius of the color dot on the screen.

 

7. Solder all together according to diagram.

 

7. Assemble the pen and connect to any COM port.

LED should light.

Run HyperTerminal, select proper COM port, set any baud rate.

When pen is down, you should see echo when typing on keyboard.

When up - no echo.

 

8. Now LEDPen is ready for use.



 

Download

Current version is 1.1. Download it here

Source code is here


Version history

Version 1.1:
- added russian/english interface selection;
- fixed several bugs;

Version 1.0:
- initial release;

Known issues in version 1.0:

- Supported video formats: I420, IYUV, IYVU.
- need better algorithm for position recognition.

Links

Similar more advanced project here



Back to main page

Copyright (C) 2004 by Roman Lut

  Rambler's Top100