
    Inner-projector distortion calibration application

CONTENT
- bin - compiled application
- ProjectCalibration - source codes of the application

HARDWARE
- 1 projector conncted to computer
- Camera Canon 70D

REQUIREMENTS
- Microsoft Windows 7
- OpenCV 2.1 (and its required packages - ffmpeg, etc.) - http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.1/
- FreeGLUT - http://freeglut.sourceforge.net/
- MinGW compiler - http://www.mingw.org/
- Camera Canon 70D drivers - https://www.didp.canon-europa.com/
- optionaly Eclipse C++ - https://www.eclipse.org/cdt/

COMPILATION, INSTALLATION 

Import as a project into eclipse C++.
Compile and run. (Setup header includes and libraries if necessary.)

PROJECTOR SETUP
- See config.txt
- Default configuration
*-------------*---------*
| LCD Dispaly |Projector|
|  1280x720   | 800x600 |
|             *---------*
|             |
*-------------*
EXECUTION
1. Distortion measurement
* Adjust projector's and camera's viewing angel into same direction and connector both devices to computer.
* Run the application.
* Press key F for fullscreen mode - It will display chackerboard pattern by the projector
* Press key T to take a picture. The apllication process the image and calculates displacement vectors between 
 detected and desired checkerboard's inner corners' positions.
* The result displacement vectores are saved into file coordinates.csv.
* Press key M to see calibration result.(Use key Q to switch between test images)
2. Wavelet transform result check
* Run the application.
* Press key F for fullscreen mode.
* Press key J to load data from file result.mat
* Press key M to render test image with vectors from file result.mat
* Press key T to take a picture of the displaeyd image.


