How to interpret skimage orientation to straighten images?
Based on the doc you provide, orientation is in radians, ranging from -pi/2 to pi/2 counter-clockwise:

orientation : float. Angle between the 0th axis (rows) and the major
axis of the ellipse that has the same second moments as the region,
ranging from -pi/2 to pi/2 counter-clockwise.

Moreover, as it is said in the regionpropos doc, since 0.16.0, they use &quot;rc&quot; corrdinates everywhere. They say for the majority of computation you could find the old results with a simple transformation, but for others, it is more complicated, such as the orientation:

For example, the new orientation is π/2 plus the old orientation.

Which means that the right formula to get the angle you want is this one:
angle_in_degrees = orientation * (180/np.pi) + 90 

And the orientation refers to this angle on the image:

Now: If you want your major axis and the 0th axis align, then rotate your image by -angle_in_degrees:
from skimage.transform import rotate
rotate(image, -angle_in_degrees, resize=True)