Auto-Horizon/Perspective based on recorded gyro/accelerometer data

More and more cameras are recording lots of metadata into each image, including Roll, Pitch, and Yaw angles.
For example, my Nikon records -0.1/-2.9/-92.8 for R/P/Y.

I think it would be great, if possible, to support an auto-horizon correction based on the recorded roll angle.

You could take that a step forward to also support an auto-perspective correction, based on the pitch angle.

Just basically that this data is how gyro based stabilization is done for video, but there shouldn’t be any reason this couldn’t be included for photos.

1 Like

Interesting idea and I like it so have voted.

Please also vote for your own request!

well, as along it is an option

agreed, and basically, all automatic settings should have a manual override.

1 Like

Great idea. I wonder why it’s not yet implemented in NX Studio, since Nikons seem to record this data since D4s. Don’t know about other camera makers (Canon?). How would you see it implemented? For Horizon, perhaps as a separate button ‘Camera Auto’? I would still leave the defaults as they are, i.e. based on line detection – you don’t want long time users to suffer. Perspective control looks more like a can of worms…

How about a preference/setting?

  • Default horizon correction → classic / metadata based
  • Default vertical lines correction → classic / metadata based

Setting to “classic” leaves things as they are, “mdbased” modifies the magic wand.

Note that horizontal lines cannot be forced parallel based on metadata. There is no natural reference on this axis. Horizon and vertical adjustments reference gravity. Absence of relevant metadata implies “classic”.

@StevenL

Fois idéa in option as Said.
Don’t forget that a rapid latéral movement modifiés the horizontal level.

Yes and no. The MEMS accelerometer inside most modern devices, smartphones, cameras, etc, respond very quickly, with essentially nil intertia. I am not actually sure if the roll detector would be affected very much by a lateral movement, assuming the camera was kept flat.

On my Z6iii it seems this data is recorded in degrees, with 1/10th of a degree apparent resolution. I checked and also this is recorded on Canon R5, R5 Mk2, R6 Mk2, and I’m sure on many others as well.

My Sony A7RIV is affected : I shot many panoramas when rotating fastly to shot in a short time, the level indicator shows a 10 degrees angle.