Login | Register 

projectorBlender Component

Share your components here. First one to 100 wins!

projectorBlender Component

Postby snaut » Wed Jun 05, 2019 6:47 pm


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!

build 2019.15840 ver. 0.1.0
(10.52 KiB) Downloaded 151 times
User avatar
Posts: 904
Joined: Mon Nov 12, 2007 6:21 pm
Location: Toronto

Re: projectorBlender Component

Postby django » Thu Jun 06, 2019 2:58 pm

Awesome Markus, thanks for sharing!
Can't wait for the day, when I can try this out :)
Posts: 178
Joined: Fri Aug 30, 2013 3:26 am
Location: Switzerland

Re: projectorBlender Component

Postby bLackburst » Sun Jul 14, 2019 3:39 am

v cool markus!
Posts: 334
Joined: Thu Sep 01, 2011 3:56 am
Location: Melbourne, Australia

Return to Shared .tox Components

Who is online

Users browsing this forum: No registered users and 5 guests