As you might know, I have finally tested my idea to use my old drawTriangles() snippet for projector perspective reconstruction from webcam video. The thing is that, unless you duct-tape your webcam to projector, there is significant difference in perspective between projector and webcam that needs to be compensated in one way or another before you could use webcam to do something like this:
So I borrowed this projector from Denis Radin and wrote a wrapper around webcam and math and shit that is now hosted on github. There you get a sprite that waits for Ctrl+Space to show 4 white arrows for a second, and then you mark those arrows in webcam image. When you’re done, Ctrl+Space again to hide it. Using this “calibration” info, your code gets corresponding region of webcam video automatically transformed into rectangle – the way your projector would see it, if it was a webcam itself. What you do with that image next is up to you; I’ve included flashlight “painting” example above as well as basic edge highlighting example.