Welcome to the mouseTrap Trac Site
This is the mouseTrap trac and here you'll find information about mousetrap, it's code, timelines, tickets and a lot more..
What is mouseTrap?
In few words mouseTrap can be described as an a11y software developed to allow people with movements impairments access the computer.
mouseTrap is written in python, based on the OpenCV library and uses image processing to translate the user's head movements into mouse events ( movements, clicks ) which allow users to interact with the different desktops managers and applications.
Why Python?
Python as we all know is a dynamic, flexible and object-oriented programming language with a low learning curve which means that anyone with few programming knowledges can develop applications using python in a short time.
For the last 3 years Python has been my favourite programming language and the fact that OpenCV offers python bindings helped me to erase any doubt of using it, but, there were a few more things to consider before choosing python definitely, one of them is the OpenCV hardware requirements. To keep track of the reference points it is necessary to continuously scan and process the new frames captured and this is performed with the OpenCV library. At the beginning the definitely use of python was being affected by this point considering that OpenCV was written in C and the hardware requirements could increase using bindings of the library. After executing some tests with both languages I saw the requirements where almost the same in both cases so, I made my decision.
OpenCV in mouseTrap
mouseTrap process the captured frames and calculates the reference points using OpenCV and following this steps:
- Gets the current frame
- Detects the eyes region using haartraning method.
- Calculates the forehead point using the coordinates of the eyes region and distance forms.
- Calculates the Optical Flow of the detected point using Lucas-Kanade method to keep its track.
- Depending of the selected movement method mouseTrap will execute different calculations to get the new position if the mouse should be moved.
Need to see it working?
Here are some videos to see how mouseTrap works:
License
It has been released under the license GPL v2
![(please configure the [header_logo] section in trac.ini)](/trac/chrome/site/your_project_logo.png)