How to Use Camera Calibration (CalibratorLite)

Last updated 28 July 2026

How to Use Camera Calibration (CalibratorLite)

CalibratorLite is the built-in camera-based calibration feature inside Backstage. It automatically generates warp meshes and frustum settings for each projector by photographing stripe patterns projected onto your surface. Use it to align single or multi-projector setups without the separate Calibrator application.

CalibratorLite vs. Calibrator: CalibratorLite is built into Backstage and requires no additional license. The separate Calibrator application is a standalone, optionally licensed product for advanced multi-projector installations with black-level compensation, high-resolution content slicing, and full cluster support. This page covers CalibratorLite only.

Before you start

  • A surface exists in the scene (Plane, Cylinder, or Dome/Fisheye-compatible shape)
  • One or more Projectors are assigned to the surface
  • Projectors are routed to physical GPU outputs (Video Routing)
  • A CalibratorLite scene node exists in the same render group as the surface (right-click the group in Scene Objects to add one)
  • A digital camera is available — either connected via USB to the server, or accessible remotely (e.g. phone/tablet via the Backstage remote camera feature)
  • The camera can see the entire projected area from a single position
  • Ambient light is controlled — avoid direct sunlight or bright room lights on the projection surface

Steps

1. Open the Camera Calibration window

In Scene Objects, expand the group containing your surface. Double-click the CalibratorLite node to open the Camera Calibration window. Select your target surface from the Surface dropdown.

2. Choose camera mode and lens type

Pick your capture method:

  • Camera (server) — Canon DSLR connected via USB directly to the Backstage server.

  • Camera (user) — Remote capture from a phone, tablet, or separate workstation. The camera app connects to Backstage over the network.

Select the Lens type matching your camera:

  • Pinhole (rectilinear) — Standard photo lenses with FOV under ~90 degrees. Most common choice.

  • Fisheye (equidistant) — Industrial/machine-vision fisheye lenses. If the datasheet says "f-theta" or "linear projection", pick this.

  • Fisheye (equisolid-angle) — Typical photographic fisheye lenses (e.g. Sigma 8mm, Samyang 8mm). If the datasheet says "full-frame fisheye" or "equal-area", pick this.

  • Stereographic — Rare specialty fisheye used in astronomy and panoramic imaging. Preserves local shape.

3. Start the calibration

Check Set Screen Corners if this is your first calibration or the camera has moved. Uncheck it on repeated runs where the camera position hasn't changed. Press Start Calibration. Backstage will:

  1. Connect to the camera and run auto-exposure to find the optimal shutter speed and ISO.

  2. Capture a reference photo and display it in the window (if Set Screen Corners is checked, you will mark the four corners of your screen on this photo).

  3. Project stripe patterns on each projector and photograph them.

  4. Process the stripe images, compute projector-to-surface correspondences, estimate each projector's frustum (FOV, position, orientation, lens shift), and generate warp meshes.

  5. Apply the results — each projector's frustum and warp mesh are set automatically.

4. Mark screen corners (first run)

When Set Screen Corners is checked, the calibration pauses after capturing the reference photo. Click the four corners of your projection surface on the photo. For Cylinder surfaces, you also mark the top-center and bottom-center points (6 points total). Once all markers are placed, press Confirm to continue.

5. Add masks (optional)

If objects like speakers, structural elements, or the camera tripod are visible in the camera image, mask them out so they don't interfere with stripe detection. While in the corner-confirmation step, switch to Mask mode and draw polylines around the areas to exclude. Choose whether to mask Inside the polygon (mask the object itself) or Outside (mask everything except the screen). Masks are saved automatically and reused in subsequent calibrations.

6. Fine-tune with Adjustment Mode

After a calibration completes, the Adjust button becomes available. Click it to enter Adjustment Mode: you can drag the screen corners on the reference photo or nudge them with arrow keys (Shift = 10x faster, Ctrl = quarter-pixel precision). The warp meshes re-fit in real-time as you move each corner. Click Adjusting... or Stop to exit Adjustment Mode — a verification photo is captured automatically.

7. Choose Fix Surface or Fix Camera

After calibration, if the solver detects that the measured screen aspect ratio or cylinder geometry doesn't match the scene's surface, Backstage offers to correct the surface dimensions. This is the Fix Surface behaviour — it adjusts the scene surface to match what the camera actually measured.

Alternatively, enable Fix Camera before starting a calibration. This keeps the camera's intrinsics and position locked from a previous calibration and only re-fits the projector warp meshes. Use this for:

  • Fixed-installed cameras where the camera never moves between sessions.

  • Quick re-calibrations after a projector was bumped or replaced.

  • Node-triggered automatic re-calibrations (the CalibratorLite node uses Fix Camera by default).

Fix Camera is only available when a VirtualCamera already exists in the same group from a previous calibration. On the very first run, the camera is always calibrated.

8. Store and recall results

Press Store Result to save the current calibration as a snapshot. Up to 5 snapshots are kept (oldest is automatically removed). Use the Recall buttons to restore any stored snapshot — this re-applies the projector frustums and warp meshes from that snapshot. Snapshots are stored in the CalibratorLite output directory alongside the project.

9. Black Level calibration (optional)

Switch to the Black Level tab to measure and compensate projector black levels in overlap regions. This requires a measured camera gamma curve (the tab will guide you through gamma calibration if none exists). Black-level compensation reduces the visible brightness lift where projectors overlap.

Supported surface types

Surface Type

When to use

Corner markers

Planar

Flat screens, walls, rear-projection screens. The default and most common case.

4 corners (TL, TR, BR, BL)

Cylinder

Curved screens, partial cylinders, 360-degree wraps. The solver additionally refines the cylinder radius and opening angle from the captured marker positions.

4 corners + 2 center points (top-center, bottom-center) = 6 markers total

Fisheye

Dome projections or installations using fisheye/wide-angle lenses with FOV greater than ~90 degrees. Select the matching fisheye lens model (equidistant, equisolid-angle, or stereographic) before starting.

4 corners (same as planar). The fisheye lens model handles the distortion.

VirtualCamera

After a successful calibration, Backstage creates (or updates) a VirtualCamera object in the same render group as the calibrated surface. The VirtualCamera stores:

  • The camera's solved position, orientation, FOV, aspect ratio, and lens shift.

  • Lens model type (Pinhole, Equidistant Fisheye, Equisolid-Angle Fisheye, Stereographic).

  • Distortion coefficients (cx, cy, k1 through k4) from the joint lens fit.

  • Camera identity (serial number, model name, sensor resolution).

  • Reprojection error and correspondence count from the last calibration.

The VirtualCamera is shown in the Scene View with a cyan-tinted body and FOV pyramid. It also supports per-camera POV capture at sensor resolution. On subsequent calibrations, Backstage matches cameras by serial number — if the same camera is used, the existing VirtualCamera is updated rather than creating a duplicate.

Joint Lens Fit

The joint lens fit (new in 2026) extends the camera calibration beyond a simple FOV search. When Auto-fit focal length and Auto lens distortion are both enabled (the defaults), the solver optimises the full set of lens parameters simultaneously:

  • Focal length (equivalent to horizontal FOV)

  • Principal point offset (cx, cy) — compensates for lenses that are not perfectly centered.

  • Radial distortion (k1 through k4) — corrects barrel and pincushion distortion.

The Distortion degree setting (1 to 4) controls how many radial terms are fitted. The default of 4 (k1 through k4) works for most lenses. Lower values are useful when marker coverage is sparse — fewer parameters means less overfitting risk. The fitted values are stored on the VirtualCamera and seeded into subsequent calibrations for faster convergence.

If you have a known-good lens calibration from a previous session, uncheck Auto lens distortion to lock the camera's stored distortion values. The solver will still use them for rectification but won't re-fit them — useful for maintaining consistency across runs.

Options explained

Setting

Description

Values / Range

Set Screen Corners

Show the corner-marking UI before calibration starts. Uncheck to reuse corners from a previous run.

Checkbox (default: on for first run)

Fix Camera

Keep camera intrinsics and pose fixed from a previous calibration. Only re-fit projector warp meshes.

Checkbox (disabled until a camera has been calibrated)

Lens

Camera lens projection model. Determines how marker pixels are converted to 3D rays.

Pinhole / Equidistant / Equisolid-angle / Stereographic

Auto-fit focal length

Solve the camera's focal length from marker correspondences. Turn off to use a fixed FOV.

Checkbox (default: on)

Auto lens distortion

Extend the auto-fit to include principal point offset and radial distortion. Turn off to lock previously-stored values.

Checkbox (default: on)

Distortion degree

Number of radial distortion terms (k1 through kN) included in the joint lens fit.

1–4 (default: 4)

Frustum oversize

Safety margin past calibrated screen coverage. The applied FOV is enlarged by this percentage; the warp mesh is resampled inward so content position stays the same.

0–30 % (default: 5 %)

Mesh step

Warp mesh vertex spacing in stripe-detection grid cells. Lower values produce a denser mesh with more detail.

Integer (default: 4)

Smooth mesh

Apply smoothing to the UV map to reduce jitter from stripe detection noise.

Checkbox (default: on)

Image rotation

Rotate captured photos before processing. Use when the camera is mounted sideways.

0 / 90 CW / 180 / 90 CCW

Manual camera settings

Bypass auto-exposure and use fixed ISO, shutter speed, and aperture.

Checkbox + ISO / Shutter / Aperture fields

UV fill method

How masked or low-confidence UV map regions are interpolated. Polynomial fit (default) works for both flat and curved surfaces. Laplace diffusion is the legacy method.

Polynomial / Laplace

Common Mistakes

  • "Error: no outputs routed" — You pressed Start Calibration but the projectors are not routed to physical GPU outputs. Open Video Routing and route each projector before calibrating.

  • Wrong stripe detection on curved screens — You used a planar surface type for a curved screen, or the cylinder dimensions don't match the physical screen. Switch the scene surface to Cylinder and set its diameter and opening angle to approximate the real screen. The solver will refine the geometry during calibration.

  • Camera photo is too dark or overexposed — The auto-exposure may struggle in extreme ambient light. Lower the room lights or switch to Manual camera settings with known-good values. Use the Capture button to take a test photo before starting a full calibration.

  • Fisheye lens type mismatch — Using the wrong fisheye model (equidistant vs. equisolid-angle) causes high reprojection errors and distorted warp meshes. Check the lens datasheet. If unsure, try both and compare the reprojection error reported in the VirtualCamera properties after calibration.

  • Obstructions in camera view — Speakers, structural elements, or the camera tripod visible in the camera image corrupt stripe detection. Use Mask mode to draw exclusion polylines around these areas.

  • Fix Camera greyed out — No VirtualCamera with calibration data exists in the surface's group. Run at least one full calibration first (with Fix Camera unchecked) before using this mode.

Tips

  • Position the camera so it can see all projectors' output on the surface. Ideally, place it near the center of the audience area. Avoid extreme angles — the more head-on the camera views the surface, the more accurate the stripe detection.

  • For cylinder surfaces, the two extra center markers (top-center and bottom-center) are critical for an unambiguous pose solve. Place them as precisely as possible on the vertical centerline of the screen.

  • Use the Focus button to take a test shot with stripe patterns visible before starting a calibration. This lets you verify camera position, focus, and exposure without committing to a full run.

  • After Adjustment Mode, a verification photo is captured automatically. Compare it against the reference to confirm the warp correction looks correct on the physical surface.

  • For automated/repeated calibrations in permanent installations, use the CalibratorLite node in the Node Editor. Wire a Bang to the Start Alignment input to trigger calibration from show control. The node uses Fix Camera by default and skips the corner-confirmation UI, so it runs unattended.

Apply a Blend Mask to an Output — How to apply a blend mask to an output.

Output Warping — Manual mesh warping for fine-tuning projector outputs.

Surface — Surface reference page.

Compensate Projector Blacklevel with Calibrator — Black-level compensation using the standalone Calibrator application (advanced).

[USER-ACTION-REQUIRED: Attach a screenshot of the Camera Calibration window showing the Alignment tab with a reference photo and corner markers]