Back to Adaptive Vision Library website
You are here: Start » Function Reference » Image Spatial Transforms » ImagePolarTransform
ImagePolarTransform
Transforms an image to polar or log-polar space.
Syntax
C++
C#
void avl::ImagePolarTransform ( const avl::Image& inImage, const avl::Point2D& inCenter, avl::PolarSpaceType::Type inOutputSpaceType, avl::PolarInterpolationMethod::Type inInterpolation, avl::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.