Back to FabImage Library website
You are here: Start » Function Reference » Image » Image Spatial Transforms » ImagePolarTransform

ImagePolarTransform
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationBasic |
Transforms an image to polar or log-polar space.
Syntax
C++
C#
void fil::ImagePolarTransform ( const fil::Image& inImage, const fil::Point2D& inCenter, fil::PolarSpaceType::Type inOutputSpaceType, fil::PolarInterpolationMethod::Type inInterpolation, fil::Image& outImage )
Parameters
Name | Type | Default | Description | |
---|---|---|---|---|
![]() |
inImage | const Image& | Input image | |
![]() |
inCenter | const Point2D& | Center of the coordinate system in input image | |
![]() |
inOutputSpaceType | PolarSpaceType::Type | Method of transformation | |
![]() |
inInterpolation | PolarInterpolationMethod::Type | Method of underlying interpolation | |
![]() |
outImage | Image& | Output image |
Description
It uses the following transformation:
\[ dst(\rho, \phi) = src(x,y), \]where
\[ \rho = m \sqrt{x^2 + y^2} , \phi = \arctan(\frac{y}{x}), \]for linear-polar space, and
\[ \rho = k \log{\sqrt{x^2+y^2} }, \phi = \arctan(\frac{y}{x}), \]for log-polar space, which emulates the human "foveal vision".
Parameters \(m\) and \(k\) are chosen so that entire source image could fit into output image.
Transformation does not change image dimensions.
Examples
![]() |
![]() |
![]() |
ImagePolarTransform performed on the sample image with inCenter = (150,150), and inOutputSpaceType Polar and LogPolar respectively.
See Also
- ImageInversePolarTransform – Transforms an image from polar or log-polar space to euclidean space.