Issues regarding CvCameraProjectorCalibration example: projector states and obtaining projector ext/int matrix


I’m currently developing a projection mapping application within Unity3D and I’ve reached a point where I require projector’s intrisic/extrinsic matrix. In order to obtain them, I’m trying out the ofxCvCameraProjectorCalibration addon (using the calibration example available in the pack) and been having some issues:

  1. The application is divided in 3 states: CAMERA, PROJECTOR_STATIC and PROJECTOR_DYNAMIC. The first and second one calibrate the camera and projector respectively but I don’t understand the difference between the two Projector’s ones. Upon reaching the final state (the dynamic one), the dots used in the projector calibration that were originally being projected in the Static state are gone and the application seems to be no longer doing sort of calculations, meaning it doesn’t get to the point in the code where both CameraProjectorExtrinsics.yml and calibrationProjector.yml are generated! What am I supposed to do at this stage?

  2. The clean(maxReprojErrorCamera) crashes the application. In order to fully run the application, I have to set a high value in settings.xml so that this function is never called, however from what I’ve understood this function isn’t mandatory but how much impact does it have on the calibration?

  3. Are the values obtained in the extrinsic matrix of the projector measurable in meters or cm?

Any help would be greatly appreciated!


Sorry, not following, solved how?

Hi Nuno,

I’m sorry you’re having trouble with this addon.

The projector_dynamic should still project the dots but it should map them on the white board instead of projecting them statically. The fact that you don’t see the dots means that the projector_static state failed somehow.
It’s certainly related to the clean method crashing (I’ve received a few emails reporting this crash), but I’m unable to have a look at it at the moment (I don’t have the camera/projector).
Otherwise, the values are in cm !
Hope that helps somehow. Please keep me posted with your progress!

Hello Kikko,

Managed to partially solve the problem, the way I had printed the supplied chessboard made it so the square size did not match with the variable one set on your addon.

Regarding the clean method, I wasn’t able to found out what’s wrong with it. I am curious though, how much impact does this method has in the calibration values?