Image Undistortion

The algorithm performs image undistortion on a set of 2D images.

Input

  • Single set of 2D images with attached camera calibration data component which contains camera intrinsic matrix and image distortion coefficients. Supported images: grayscale and RGB images, supported types: unsigned char, unsigned short, and float.

Output

  • Undistorted input images.

Description

The images can be undistorted in place, or new ones can be created.

The algorithm also needs a camera intrinsic matrix, and distortion coefficients in the following form:

\[ \begin{align}\begin{aligned}\begin{split}M = \begin{bmatrix} f_{x} & 0 & c_{x} \\ 0 & f_{y} & c_{y} \\ 0 & 0 & 1 \end{bmatrix}\end{split}\\ distortion = \begin{bmatrix} k_{1} & k_{2} & p_{1} & p_{2} & k_{3} \end{bmatrix}\end{aligned}\end{align} \]

The algorithm looks for these parameters inside camera calibration data component provided by DataComponent list which can be found inside the input image set through the Inspect Properties dialog or camera calibration setter algorithm.

The algorithm parameters are as follows:

  • computeInPlace: if set to true, then the input images are replaced by the output ones.
  • interpolationMode: can be set to Nearest or Linear, the first one is advised to be used for depth maps, and the second one for regular RGB images.
  • useGPU: if set to true, OpenGL is used to accelerate computation speed.