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)
Tolga Birdal (2021). Inverse Polar Transform on Images (https://www.mathworks.com/matlabcentral/fileexchange/48911-inverse-polar-transform-on-images), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!