projectorBlender Component

Hey,

due to some recent work with homographies, I thought I should give this a try. Given a projector array on a flat surface and a camera, this component should be able to properly calculate the blending between all the projectors.

All projectors should have the same output resolution.
The webcam (I’m using a standard Logitech webcam) must see the whole output canvas.

  • Specify the projector Resolution in the Projector Resolution Parameter
  • Specify the output Canvas Resolution. My tests here with 3 projectors had a Output Canvas Size of 3840x720
  • Specify the Canvas Offset, this is the amount of Pixels the Projector Output starts and is where the Window COMP for the output will be placed. In my case, using a 1920x1200 Monitor as my main Monitor, this was set to 1920x480
  • hit “Start Blending” and you should see a sequence of checkboards. After the last screen was shown, TouchDesigner will output the blended result.
  • Adjust the output rectangle size with the Output [Left/Right] [Top/Bottom] parameters. These are in unit space.

The technique is rather simple:

  • A checkerboard is projected and the openCV function findChessboardCorners tries to detect the corners of the checkerboard.
  • From the original checkerboard image and the projected checkerboard a homography is calculated using openCV’s findHomography
  • given the 3 homographies and a homogrpahy calculated from the rectangle size parameters, we can now span the image across all projectors.
  • the homographies for the 3 projectors is passed into a shader where the blending is calculated.

I’ve had good results here with my test setup but not sure how well this works on larger walls.
Happy to hear how it behaves for others!

Best
Markus
ProjectorBlender.tox (10.5 KB)

2 Likes

Awesome Markus, thanks for sharing!
Can’t wait for the day, when I can try this out :slight_smile:

v cool markus!

Hey Markus!

Just exploring this TOX, is it limted to a certain number of projectors/array dimension?

TIA

Hey Markus. We are going to try this out on a 6 projector (6x1080x1920) setup. Looking forward to seeing how it works.

1 Like

Hey @joshshires,

let me know how it goes, this was a really basic test of using homographies for blending…
One thing to keep in mind is that the camera has to have the full canvas in view.

Best
Markus

Hey @dogboy23,

sorry - just seeing this now… Theoretically there is no limit. Practically the camera must see all outputs.

cheers
Markus

Got a plan to test this next week, has anyone tried with vertical arrays? Am looking to do a 3x2 camvas…