Monday, November 27, 2017

Does this iPhone 6s image make my horizon look flat?

A beautiful study in shades of blue of the ocean and open skies just floated across my twitter stream posted by @mcnees, taken on an iPhone 6s.

He was gracious enough to send me a link to the original for this blog (thanks!):


It's so quiet and serene, it really is a gorgeous image... But my inner-scientist just had to check...

A quick check on my phone using the smaller twitter image confirmed a few pixels of drop off on the right side, so I took the full resolution image and rotated it 0.2° counterclockwise to correct for the slight camera rotation and compressed the width to 202 pixels (1/20 of the original size)...

Here is the result:


That is about 5-7 pixels high in the full resolution, 4032 x 3024 pixel image.

However, from this vantage point, let's say about 20 feet over the water, 4032 pixel wide image, ~57.724° Field of View I would expect only about one pixel of 'apparent horizon Sagitta'.  We would have to be about 1400 feet over the water to see 6 pixels of 'apparent horizon Sagitta' with this field of view and resolution.

Sure enough, the iPhone 6- and 7-series cameras have a little bit of pincushion distortion (I tested it myself just now), which is creating a very slight amount of positive curvature here when the horizon is outside of lens center.  This is the exact opposite of the typical GoPro lens, which has barrel distortion (aka FishEye).



But it just goes to show that "looks flat" doesn't mean it actually is flat, you have to very carefully measure it with properly calibrated tools.  And, in this case, "looks curved" doesn't mean it is curved.

That's because when we're this close to the ground our horizon isn't curving sideways, like a sad-face (⌒), but rather is curving 360° around the observer, as we have shown previously.


The fact that subtle lens distortion can throw off our observations is why I came up with the method of taking frames where the horizon pass through dead center of the lens from multiple altitudes and we look at which direction (if any) the horizon bows as we gain altitude.  By only looking at what is changing we can eliminate a lot of variables.

If the horizon is truly flat then it should stay the same shape regardless of altitude.  But if the horizon is getting more and more bent then we can see this in the series of frames.

These are three frames from the Rotaflight balloon launch that show the 'apparent horizon Sagitta' increase sharply with altitude:




And, as I have shown previously, this 32 pixels of 'apparent horizon Sagitta' is a near perfect match with our expected curvature and indeed, even if you correct this footage for the GoPro distortion, the horizon curvature remains.


I also did some further analysis on this footage to find out exactly where we're looking and where the sun was during the time of this footage.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.