You are here: Start » AVL.NET » AVL.CreatePerspectiveMap_Path Method

AVL.CreatePerspectiveMap_Path Method

Creates a perspective transform map from planes defined by paths.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

public static void CreatePerspectiveMap_Path(
	AvlNet.ImageFormat inImageFormat,
	AvlNet.Region inRoi,
	AvlNet.Path inImagePath,
	AvlNet.Path inTargetPath,
	AvlNet.Size? inNewSize,
	AvlNet.InterpolationMethod inInterpolationMethod,
	out AvlNet.SpatialMap outSpatialMap,
	out AvlNet.Matrix outTransformMatrix
)

Parameters

Name Type Range Default Description
inImageFormatAvlNet.ImageFormat
inRoiAvlNet.RegionRange of pixels to be processed. Default value: atl::NIL, or null.
inImagePathAvlNet.PathPlane defined by a closed path made of 4 points.
inTargetPathAvlNet.PathTarget plane. If NIL then image corners are used starting from (0,0) (Width, 0) (Width, Height), (0, Height). Default value: atl::NIL, or null.
inNewSizeAvlNet.Size?New image size after remapping. Default value: atl::NIL, or null.
inInterpolationMethodAvlNet.InterpolationMethodInterpolation method used in extraction of image pixel values.
outSpatialMapAvlNet.SpatialMapCalculated spatial map.
outTransformMatrixAvlNet.MatrixUsed transform matrix.

Description

This operation computes a SpatialMap which can be later used for removing a perspective distortion from an image.

The operation maps the input path (inImagePath) into the target path (inTargetPath). If the inTargetPath input is set to Auto this path will be made from the corner points of the input image. Both paths must be closed and must be made of four points.

The input inNewSize allows rescaling of the output image.

The inImageFormat format is necessary for preparation of a spatial map.

The outTransformMatrix output allows verifying the found transformation.

For more information about distortion removal please refer to: Machine Vision Guide - Camera Calibration

Examples

Image before and after the perspective transform created by CreatePerspectiveMap_Path.

Remarks

Notice that both inImagePath path and inTargetPath must be made of four points. This filter creates point to point transform so the changing points order in paths may yield an unexpected result.

The best way to understand the relation between inImagePath and inTargetPath is to present the first of them on the input image and the second on the background of remapped image.

The image before remapping on the left (with inImagePath) and the image after on the right (with inTargetPath).

Errors

Error type Description
DomainError inImagePath input must contain a closed path created from 4 points in CreatePerspectiveMap_Path.
DomainError inTargetPath input must contain a closed path created from 4 points in CreatePerspectiveMap_Path.

See also