Inspiration

Vertical video syndrome is at an all-time high. Humans as a species are naturally unreliable and slow to change. Instead of trying to change people, let's try to fix their blunders.

What it does

Stitch uses the power of computer vision parallel computation to convert vertical video into a its widescreen counterpart. SIFT descriptors are collected for each frame, and homographies are calculated for each pair of neighboring frames. Efficiency is achieved through the commutativity of homographies.

How I built it

I used Scala for its functional features. A lot of the subproblems within Stitch are very conducive to functional programming. Additionally, BoofCV, an image processing library, is written in Scala.

Challenges I ran into

My first algorithm was extremely slow. A 15 second 720p video would take around 3.5 hours. Now it takes around 30 minutes. Further optimizations can be made.

Built With

Share this project:

Updates