Potential of the FlirONE and wanted to emulate the capabilities of visual light cameras. App enhances infrared images captured from a FlirONE attached to an iPhone.
How it works
The FlirONE infrared sensor contains 160 by 120 pixels, relatively low resolution by visual light sensor standards.
By merging two pictures of the same scene it is possible to improve the image resolution (subpixel interpolation).
The iPhone motion detector (3D gyroscope) is used to detect changes in camera orientation between successive images. This orientation information is used to calculate which pixels from the two images correspond to the same point in space. The intensity from the adjacent pixels is interpolated to double (in our case) the resolution.
The workflow is currently rather involved. Things were done this way to remove single points of failure during the hack.
Images from the iPhone are sent to a server and the raw data extracted from the mine format sent by the phone.
A C program (for high performance) calculates the pixel overlap and merges the two images.
The 'raw' data returned by the Flir API has been upsampled to produce a 320 by 240 image.
Dependencies: an iPhone with a gyroscope sensor supporting better than 0.1 degree resolution (needed because of field of view of one pixel is around 0.25 degree).
Challenges I ran into
Need for realtime performance of image processing code and sensitivity of phone gyroscope.
Accomplishments that I'm proud of
Getting the workflow to work.
What I learned
Using the FlirONE api and IR imaging.
What's next for Clarify-the-Heat
Integrate code into standalone App running on iPhone.