You are here: Start » AVL.NET » Function Reference » Computer Vision » Camera Calibration » AVL.CreateRectificationMap_Advanced

AVL.CreateRectificationMap_Advanced

Computes a spatial map for transforming distorted images to rectified images defined in world coordinate plane. Allows for flexible definition of output geometry.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void CreateRectificationMap_Advanced
(
	AvlNet.ImageFormat inImageFormat,
	AvlNet.CreateSpatialMapUnit inCenterPointType,
	AvlNet.Point2D? inCenterPoint,
	AvlNet.CreateSpatialMapUnit inOutputSizeType,
	float? inOutputWidth,
	float? inOutputHeight,
	float? inWorldScale,
	bool inInvertedWorldY,
	AvlNet.InterpolationMethod inInterpolationMethod,
	AvlNet.RectificationTransform inTransform,
	AvlNet.RectificationMap outRectificationMap
)

Parameters

Name Type Range Default Description
inImageFormatAvlNet.ImageFormatInput image format.
inCenterPointTypeAvlNet.CreateSpatialMapUnitPixelsSpecifies units of measurement of inCenterPoint. Default value: Pixels.
inCenterPointAvlNet.Point2D?Specifies a point which will be the center of output image. Depending on inCenterPointType it can be either defined in pixels of input image or in world units. Defaults to the center of input image. Default value: atl::NIL.
inOutputSizeTypeAvlNet.CreateSpatialMapUnitPixelsSpecifies units of measurement of inOutputWidth and inOutputHeight. Default value: Pixels.
inOutputWidthfloat?<0.001f, INF>Specifies the size of output image. Depending on inOutputSizeType it can be either defined in pixels or world units. Defaults to the size of input image. Default value: atl::NIL.
inOutputHeightfloat?<0.001f, INF>Specifies the size of output image. Depending on inOutputSizeType it can be either defined in pixels or world units. Defaults to the size of input image. Default value: atl::NIL.
inWorldScalefloat?<0.001f, INF>[pix / world unit] Specifies the scale for output image. By default scale is calculated such that there will be no rescaling at the inCenterPoint. Default value: atl::NIL.
inInvertedWorldYboolFalseSet to true if world coordinate system has right-handed orientation, also known as mathematical or standard. This effectively mirrors the rectified image vertically. Default value: False.
inInterpolationMethodAvlNet.InterpolationMethodBilinearDefault value: Bilinear.
inTransformAvlNet.RectificationTransformTransform's camera model is needed for undistortion of image, when not supplied the generated map will assume undistorted image on input. Transform's homography is needed for transforming to given world plane, when not supplied the generated map will only remove distortion of image.
outRectificationMapAvlNet.RectificationMap

Description

Creates a RectificationMap, which is used by RectifyImage filter for image rectification onto a defined world plane. Point locations on rectified images are related to the world plane (defined by inTransform) only by translation and scaling.

This filter allows for the most flexible definition of output canvas geometry, however for most cases filters CreateRectificationMap_PixelUnits or CreateRectificationMap_WorldUnits suffice.

The filter may be used to generate a map which only removes a lens distortion in the image – to achieve this behaviour attach a camera model directly to inTransform (i.e. do not provide a homography matrix).

The inTransform may not contain a camera model – in such case the the generated map will assume undistorted image on input.

The output image dimensions, resolution and cropping are specified by:

  1. inCenterPoint - the point which will be the center of output image. Can be selected on the input image or it can be defined in world units - see inCenterPointType
  2. inOutputWidth,inOutputHeight - the size of output image, can be defined in output pixels or in world units - see inOutputSizeType
  3. inWorldScale - the scale for output image, defined in pixels per world unit.
For example, if one is interested in area spanning from (0,0) to (10,6) world coordinate, with resolution 100 pixels / world unit, then inputs would be set as follows:

  • inCenterPoint = (5,3)
  • inCenterPointType = WorldUnits
  • inOutputWidth = 10
  • inOutputHeight = 6
  • inOutputSizeType = WorldUnits
  • inWorldScale = 100

Auxiliary data contained inside the RectificationMap describes the relation of rectified image to the world plane.

Examples

Left: original image, as captured by a camera, with mild lens distortion present. Right: rectified image with annotated length measurement.

Function Overrides

See also