I have struggled with tilted horizon, too. No matter what I do (see below), it is about 0-1-2° tilted. Some shots are 0° while others are 1-2° tilted in the same flight. I have now accepted this and fix it in post with Lightroom or Final Cut Pro (in P3P shooting 4K and outputting HD allows me to do that with virtually no degradation in image quality).
...My memo about how I tried to fix the issue:
IMU and Gimbal calibration:
Main Controller Settings > Advanced Settings > Sensors > IMU Calibration
Gimbal Settings > Gimbal Auto Calibration
Might fix tilted horizon. Make sure "Adjust Gimbal Roll" is 0° before calibrating.
Gimbal Settings > Adjust Gimbal Roll
Cool the P3 (and battery?) for one hour in my refrigerator or other cool place followed by an immediate IMU calibration and gimbal auto calibration on a perfectly level surface on power-up as soon as the DJI GO app shows a live camera view from the P3 (which will be very foggy due to condensation on the cold camera lens).
Gyroscope Mod 0.0-1.5, Acceleration (g) X, Y 0.00, Z -1.00, Mod 1.00 (0.98-1.02)
If the horizon is still tilted you might try the following:
Get airborne, climb to a height that gives you a clean horizon and then manually change the gimbal roll in the DJI GO app > Gimbal Param Settings > Adjust Gimbal Roll lets you adjust the horizon in 0.2 degree increments. You might make this a P3P shortcut to C1 and C2, then turn right thumbwheel.
A poster has suggested doing the IMU calibration while the AC motors/props (motor hubs using a piece of glass or something similar across all four motors) are level. I.e. "uneven legs". Even if you have a perfectly level surface, you will will find that the landing legs in the Phantom can be slightly off because of the uneven wear of the foam padding underneath the landing surface. The easiest method for balancing is to remove the propellers, place a glass pane (e.g. from a picture frame) directly on top of the prop shafts, and measure the top of this glass pane with a spirit level in both directions. You can then insert sheets of paper under the landing legs for a perfect horizontal alignment.
A poster has suggested doing the gimbal calibration while the AC is in the air on a calm day with little wind.
A poster has suggested facing the AC north while calibrating the IMU.
A poster has suggested tilting the camera straight down pointing at ground before starting the auto gimbal calibration.
A poster has suggested that if the AC takes off from an unlevel surface the horizon will be tilted.
A poster has suggested that the camera is attached to the gimbal unit and secured by a small set screw. It is possible to loosen the screw and rotate the camera assembly slightly to correct the tilt.
A poster has suggested doing IMU calibration (as above), but then adjusting gimbal roll with the grid on the camera to some level object, followed by gimbal calibration.
Horizon off alittle...
Tilted Horizon issues on Phantom 3 pro
Non-Level P3 Pro Camera Horizon FINALLY Resolved!