Back to Aurora Vision Library website

You are here: Start » Function Reference » Image » Image Spatial Transforms » ImagePolarTransform

ImagePolarTransform


Header: AVL.h
Namespace: avl
Module: FoundationBasic

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
Input value inImage const Image& Input image
Input value inCenter const Point2D& Center of the coordinate system in input image
Input value inOutputSpaceType PolarSpaceType::Type Method of transformation
Input value inInterpolation PolarInterpolationMethod::Type Method of underlying interpolation
Output value 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