Inverse Polar Transform on Images

Unwarp the circular objects appearing in images using inverse polar transform.
Updated 30 Dec 2014

View License

This work transforms the polar coordinate representation of an image back onto an annular arc in cartesian coordinates. The result contains an interpolated image where the circular structures are converted to rectangular ones.
The function transImageInvPolar applies an inverse polar transformation to an image with circular structures. [Cx, Cy] is the center location of both of the circles, while InnerRadius is the radius for the small circular arc, while OuterRadius is for the big one. The transformation is applied starting from angle Phi0 to PhiEnd (in radians). The result IWarp is a linearized image, in which the circular elements are mapped onto linear ones. If the parameter Visualize is set to true, then the image with polar region as well as the output are plotted. The function only warps the region remaining within the torus lying within the two circles. Note that I is expected to be a gray valued image. The coordinate axis respects the mathematical convention. This is why angular mappings are also defind in the similar fashion. Yet, [Cx, Cy] are in pixel coordinates.
Usage (Parameters are illustrative only) :
fromRadius = 205.0;
toRadius = 676.0;
centerX = 802.0;
centerY = 550.0;
fromAngle = pi/2;
toAngle = pi+pi/2;
transImageInvPolar(I, centerX, centerY, fromRadius, toRadius, fromAngle, toAngle, 1)

Cite As

Tolga Birdal (2024). Inverse Polar Transform on Images (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Added screenshot.