This article presents the workflow for calculating intrinsic parameters of a projector with VIOSO Blackbox (also valid for VIOSO Anyblend VR&SIM).
The steps are detailed in the order below:
1. Camera Intrinsic Calibration
First, the camera used for this operation needs to be intrinsically calibrated. Please refer to this article to know more about this step.
2. Camera Registration
Second, we will use markers placed on a flat surface to register the camera.
-
- Fix the camera in a permanent position. Its important here to check the camera view and make sure it will see the projected image when the projector is moved in different positions and orientations.
- Place markers on the screen, its recommended to use at least 9 and spread them throughout the camera view. Markers can be anything from pencil marks to stickers as long as you can easily identify them next.
- Measure each marker’s coordinates: by choosing one marker as the origin (the center one for example) and measure each distance relative to that point. You can use a laser to properly place the markers vertically and horizontally.
- Open the file
SP3DMarkerDef.ini
and enter your markers coordinates there. - Open VIOSO software, go to 3D Model cam area (or in Anyblend: Calibration > intrinsincs and positions)
- Select your camera from the list, as well as a display to be used as UI for marker placement (could be a simple monitor). As a mode select “Manual Marker based camera detection”.
- Place the interface markers on their respective positions in the camera view. Use the mouse wheel to zoom in and the arrow keys to move the marker slightly.
- When done press the keyboard button F2 to show the interface, load your camera intrinsic from the dropdown, and click on calculate.
The final error should be less than 1px. - Press “>” to save and exit.
3. Projector Intrinsic Calibration
Finally, our camera is ready to calculate the intrinsic data of the projector, for that:
- From the 3D model cam area, select the calibrated camera from the list, as well as your projector and choose as a mode: “Intrinsic Projector Calibration”.
- In the next window, select the proper settings for the camera and make sure its intrinsic parameters are loaded.
- Confirm the brightness of the projector
- Align and rotate the projector in a first position, then click on “test pattern“.
Repeat this step for different positions and orientations of the projector. Recommended: ~30 valid patterns (10 positions)
Finally click on “generate” to calculate the intrinsic parameters. The error should be inferior than 1. - Click on next “>” to save and exit.
Example: result parameters found in SPdevices.ini
<OutputDevices> <Display Name="D1 WQ Projector (PNP0000)" Core="" Desc="" > <ExtendedParameter fParam="0"> </ExtendedParameter> <ExternParameter fExtParam="0"> </ExternParameter> <IntrinsicParameter> <Resolution width="2560" height="1600" > <FocalLength X="2097.259033" Y="2088.389160" /> <PrincipalPoint X="1208.731323" Y="887.496216" /> <RadialDistorsion K1="0.004420" K2="-0.100507" K3="0.200269" /> <TangentialDistorsion P1="-0.000327" P2="-0.002408" /> </Resolution> </IntrinsicParameter> </Display> </OutputDevices>