Projector Calibration On Uneven Surfaces Made Easy


If you are thinking of building your own flight/racing sim setup at home, you might want to check this out. [Alex] from the Garoa Hackerspace in Säo Paulo, Brazil put together a slick setup that makes projector image calibration a breeze.

When building a wraparound screen for such a simulator, you are likely to run into problems with both overlapping images and distortion from the curved projection. There are projectors that can easily adjust themselves to work in this sort of setup, but they are often very expensive, so [Alex] thought he would build a solution himself.

After studying a paper written by [Johnny Chung Lee] in 2004, he built a prototype display calibrator last year that used similar, though slightly tweaked methods to get the job done. This time around, [Alex] has improved his calibrator, making the process more precise and a bit quicker.

Light sensors and an Arduino are attached to the back of the projection medium, and a large broad scan of the screen is performed by the projector. His code then triggers an additional sweep of each corner to better estimate the exact edges of his projection surface. Since the video is tweaked in software rather than relying on the projector hardware to handle the task, the result is cheap and very accurate.

Don’t take our word for it though, check out [Alex’s] video demonstration below to see his calibrator in action.


18 thoughts on “Projector Calibration On Uneven Surfaces Made Easy

  1. I’m not understanding the hand-held sensor pad. That one is just for demo? but what about huge screens?

    So if you were to project onto the side of a building, you would need to somehow get those four corner sensors on the white sensor pad mounted onto the sides of the building (one in each corner) … is that correct? I know some projections occur against rather large buildings. I’m not understanding the hand-held sensor pad. That one is just for demo, but what about huge screens?

    What he’s doing is sort of similar to how they calibrate the cameras for a football (American Football) event to create that yellow scrimmage line on TV. So when the cameras move, the computer adjusts the line to stay on the yard line.

    1. mlseim, in this case the sensor pad is handheld mainly just for demonstration. All the system needs are the four vertices sensors (which are LDRs), and they doesn’t even need to be placed in the same board. EG, they may be installed in a building.

      However, demonstration is not the only purpose of this handheld pad. As andrew noticed, using several of them may enable curved surfaces projections.

  2. This seems reasonable for scaling down and translating an image, but I don’t see how it addresses the problems encountered with large curved screens. You would need to know the radius of curvature along both x and y, I don’t think this system can give you that unless you perhaps take several samples on your screen.

    1. If you read the article, the guy basically started with Johnny Lee’s paper. He is (presumably from his website) going to extend it to handle multi-projectors on a curved surface. (Yes, Johnny Lee did multi-projector too… but this guy has a specific goal in mind.)

  3. Why does it mirror the video when adjusting it? Another issue is the resolution of the adjusted video has to be less than the native resolution of the projector – the more off perpendicular and/or rotated the screen is, the lower the resolution.

  4. I think; the goal of this project is explain some functionality and arduino code / or software used. In these case (and Johnny Lee too) not provide anything to explore functionality.

  5. I see somtehing similar 5 or 7 years ago in german tv, a stundent here developed during his time at the university a programm that needs only a laptop, a beamer and a camera. He connect the beamer an the camera with his laptop, the beamer shows a symetric pattern on a uneven surface (it was a corner) the camera detect the it and the laptop correct the output of the video.

  6. Hi.

    I apologize my English.

    I did something more retro for a while. I have a video here.

    In this project arduino does it all. Arduino outputs the video signal and adjusts to a IKEA’s framework of four LDRs. Can not be cheaper! ;)

    If anyone wants more details, I urge one to the document and expose it to some public web ;)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.