Youtube: https://www.youtube.com/watch?v=Eip19nIOG24
This presents a prototype idea for wall-top displays for future offices, where instead of a small desktop, we treat the available walls as the desktop.
We have developed an effective human-computer interface for a virtual mouse system in a projector-camera configuration without any hardware requirement.
To experience our project only one camera source is required to detect the object. Tools used: Python 3.x, Opencv, Xlib
1.Place the camera in such a way that it captures the projection screen.
2.The projection on the screen must of the aspect ratio : (4:3), that is adjust the projector to 4:3 aspect ratio.
3.Adjust the monitor's resolution to aspect ratio : (4:3)(This program uses 1024*768 resolution).
4.Run the calibrator.py, which captures a frame of the projection screen.
5.Firstly double click on the top-left vertex of the projected area(You must only click on the vertex of the part of the screen which is projected, not the entire screen).
6.You will get the x and y positions of the vertex. Note it down.
7.Repeat step 5 for bottom-right vertex. Note down the x and y positions.
8.Terminate the calibrator.py using escape key.
1.Open the program pgm.py.
2.Enter the range of colors to be detected in 'lower' and 'upper' variables in BGR format.
3.Enter the x and y possitions for vertex1 and vertex2 in vertix1,vertiy1,vertix2,vertiy2 respectively.
4.Run the program.
You will be able to drive the mouse pointer by placing the coloured object over the projected area and dragging it.
You can terminate the program by pressing 'q' on keyboard.
I used the site :
https://www.colorcodepicker.com
Here you can upload the image of the colored object(For good accuracy, use the same camera for both purposes.)
Then you will get many RGB values from the image by clicking on different possition on the image.
Note down RGB value for each position in the image.
Then find the lowest and highest R value from the whole sample of RGB.Similarly find lower and upper values for G and B.
Now you have lower RGB and upper RGB.(Note: You must enter the vales in reverse order ,i.e BGR format.)
You can see my video in youtube were I used to drive particle effect using an orange glove.