Slow motion camera can sometimes be really expensive. In recent years, smart phone devices begin to equip with high speed frame capturing technology: iPhone 6 equips with 240 FPS slow motion recorder to satisfy the need of customers. So we come up with an idea of multiplication: 1 iPhone for 240 FPS, then 4 iPhones for 960 FPS!
What it does
Capture slow motion of fast moving objects.
How I built it
We spend tons of time studying and searching topics relates to Bluetooth, OpenCV and GPUImages frameworks.
Challenges I ran into
- Camera shutter timing issue: 1/960 is the minimum accuracy we require to synchronize 4 iPhones without messing up the steps of each iPhone, but the bluetooth communication can sometimes varies a lot depends on the environment and system timing framework still has its accuracy to the threshold accuracy we required.
- OpenCV frameworks: lots of unknown expressions of built-in functions, the image stitching process was slowing down.
- GPUImage frameworks: weird files layout of framework, sometimes miss the original links to the target class, which requires some courages to read through lines of code.
- Objective-C and Swift is sometimes hard translating into each other.
- Apple watch is new to us. ## Accomplishments that I'm proud of
We had saved money for people who wants to experience slow motion technology! We had coming up 6 ideas to make sure translating timing data within acceptable accuracy. We use apple watch as our remote controller for each iPhone camera.
What I learned
Skills of solving problem efficiently under large uncertainty of the outcome.
What's next for ixSlowMo Ultra Slow Motion Video Recorder
We are writing a rendering algorithm and it will boost up frame rate 8x faster than what it is right now: 7680 FPS, balloon's explosion will be captured!