You are here: Start » Function Reference » Image » Image Spatial Transforms Maps » CreateUndistortionMap_Deprecated

CreateUndistortionMap_Deprecated
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | Calibration |
Computes a spatial transform map for undistorting images from a calibrated camera.
Applications: Creation of a transform map that will be used with the RemapImage filter.
Syntax
void fil::CreateUndistortionMap_Deprecated ( const fil::Matrix& inCameraMatrix, const fil::LensDistortion& inDistortion, ftl::Optional<int> inMapWidth, ftl::Optional<int> inMapHeight, const fil::Vector2D& inMapShift, float inMapRotation, float inCameraRotationY, float inCameraRotationX, float inCameraRotationZ, const fil::ImageFormat& inImageFormat, fil::InterpolationMethod::Type inInterpolationMethod, fil::SpatialMap& outSpatialMap, ftl::Optional<fil::Region&> outOutputRegion = ftl::NIL )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inCameraMatrix | const Matrix& | |||
![]() |
inDistortion | const LensDistortion& | |||
![]() |
inMapWidth | Optional<int> | 1 - ![]() |
NIL | Width of output map, default: same as example image. |
![]() |
inMapHeight | Optional<int> | 1 - ![]() |
NIL | Height of output map, default: same as example image. |
![]() |
inMapShift | const Vector2D& | Translation from the principal point on the image plane. | ||
![]() |
inMapRotation | float | Rotation of the principal point on the image plane. | ||
![]() |
inCameraRotationY | float | Rotation of view around Y axis (a.k.a. Pan, Azimuth or Yaw) | ||
![]() |
inCameraRotationX | float | Rotation of view around X axis (a.k.a. Tilt, Elevation or Pitch) | ||
![]() |
inCameraRotationZ | float | Rotation of view around Z axis (a.k.a. Roll, Horizon) | ||
![]() |
inImageFormat | const ImageFormat& | Information about dimensions, depth and pixel type of the image | ||
![]() |
inInterpolationMethod | InterpolationMethod::Type | Bilinear | ||
![]() |
outSpatialMap | SpatialMap& | |||
![]() |
outOutputRegion | Optional<Region&> | NIL |
Optional Outputs
The computation of following outputs can be switched off by passing value ftl::NIL
to these parameters: outOutputRegion.
Read more about Optional Outputs.
Description
After determining the intrinsic camera matrix, and intrinsic distortion coefficients, this filter can be used to undo distortion of the images (undistortion).
The undistortion is performed through a general spatial transformation, using RemapImage. The result is a SpatialMap, i.e. a description of this transformation.
Examples
![]() |
A calibration pattern: original - before undistortion.
![]() |
![]() |
A calibration pattern: remapped using RemapImage.
The SpatialMap used was generated with CreateUndistortionMap_Deprecated,
for inInterpolationMethod = NearestNeighbour and Bilinear.
Remarks
The interpolation method chosen affects the speed of image remapping. Nearest neighbour is the fastest method, but bilinear interpolation provides higher quality.
The inImageFormat input describes dimensions and pixel format of the images that will be remapped with a RemapImage filter. Also an example image may be connected to this input and the format information will be extracted from it.
The outOutputRegion describes the region of valid pixels. If it does not cover the output area, it should be passed to RemapImage, to suppress the invalid pixels. To increase coverage, provide different values for inMapHeight and inMapWidth - to limit the output area to a valid region.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | Camera matrix must be 3x3 in CreateUndistortionMap. |
DomainError | Empty camera matrix on input in CreateUndistortionMap. |
DomainError | Format of an empty image on input in CreateUndistortionMap. |
See Also
- RemapImage – Applies a precomputed image transform, defined by a spatial map object.