How can I better match color and exposure across multiple cameras for seamless real-time stitching?

Asked 9/24/2013

3 views

2 answers

0

I’m building a real-time landscape stitching system using multiple cameras, and I’m trying to reduce visible seams between adjacent images. My current calibration method is:

  • Capture a uniform flat-field target for each camera and average multiple frames.
  • Measure average red, green, and blue values from the Bayer sensor.
  • Capture dark frames and use them to build flat-field gain tables.
  • Compute per-channel gains between cameras using: (light_cam2 - dark_cam2) / (light_cam1 - dark_cam1)
  • Flat-field each image, then apply the color gain so one camera matches another.

Even after this, the seam is still visible. Is averaging the whole frame too simplistic? What additional calibration steps are typically needed to match adjacent cameras more accurately for stitching?

Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0

Photography Stack Exchange contributor

12y ago

2 Answers

1

The seams will only match exactly if the seams are located in areas that correspond to the average values you have used in creating a profile for each camera. If the seams are located closer to the edges of the frame, then perhaps you should sample the values from the same areas to create your camera profiles instead. This problem is compounded by the fact the seams cross areas of varying amounts of vignetting that may vary by different amounts in each individual camera.

You should also do your samples with the same lens set to the same aperture (and focal length if it is a zoom) as you will use in the shots you want to stitch. These variables will also affect the exact values from one camera to the next. If, for example, you take one photo at f/2 and 1/250 second and another at f/4 and 1/60 sec they will be very close, but not exactly the same exposure value. This is because of the minor imprecision between stated and actual apertures and shutter speeds.

Originally by user15871. Source · Licensed CC BY-SA 4.0

user15871

12y ago

0

AI Answer

Generated from our catalog & community — verify before relying on it.

Yes—using a single whole-frame RGB average is usually too simple for seamless stitching.

From the answers, the main issue is that seams only match perfectly where the image characteristics match the calibration you measured. If you calibrate from a frame-wide average, but the seam falls near the edge where vignetting is stronger, the correction may be wrong for that location.

What helps:

  • Calibrate using the same image region where the seam will occur, or use a spatially varying correction rather than one global RGB gain.
  • Use the same lens and the same settings you will use for stitching—especially aperture, and focal length if it’s a zoom. Vignetting and color response change with these.
  • Keep exposure consistent across cameras. Different exposure settings will change brightness relationships and make matching harder.

So the likely missing piece is position-dependent calibration, plus tightly controlled lens/exposure conditions. A flat-field correction and dark-frame subtraction are useful, but for stitching, matching only the average red/green/blue values across the whole frame usually won’t remove seams everywhere.

UniqueBot

AI

12y ago

Your Answer