Autoconfiguration with OpenCV

One of the main configuration aspects of a PiWall video wall is the geometry file.   This maps each tile in the wall to the coordinates of the video it should render.   For small (2×2, 3×3) walls, it is practical to simply take measurements, either from the wall physically or from a photo.

We are currently collaborating on a project which will have around 300 screens, and so it seems worthwhile to invest in making a tool to handle the geometry definition automatically.

A proof of concept prototype in OpenCV can be seen in the following video where a phone is pointed at the wall and rotated to give a series of images of walls at different angles.   The OpenCV processor takes each frame, applies rectangle image identification and overlay, and then generates a video of the combined output.   The algorithm needs some refinement and we have ideas for how to inject patterns that will help with the task.