Back to FabImage Library website
You are here: Start » Function Reference » Image » Image Spatial Transforms » ShearImage
Header: | FIL.h |
---|---|
Namespace: | fil |
Module: | FoundationLite |
Computes a leant image (shifts the rows).
Applications: Image preprocessing when there are slanted objects.
Syntax
C++
C#
void fil::ShearImage ( const fil::Image& inImage, float inShear, fil::Axis::Type inAxis, fil::InterpolationMethod::Type inInterpolationMethod, fil::Image& outImage )
Parameters
Name | Type | Range | Default | Description | |
---|---|---|---|---|---|
![]() |
inImage | const Image& | Input image | ||
![]() |
inShear | float | -![]() ![]() |
0.0f | Relative shift between consecutive rows or columns of the image |
![]() |
inAxis | Axis::Type | Switches between horizontal or vertical shearing | ||
![]() |
inInterpolationMethod | InterpolationMethod::Type | Bilinear | ||
![]() |
outImage | Image& | Output image |
Description
The filter ShearImage applies basic affine transform to each image's pixel.
Shear affine transform is defined as:
When X axis is selected
\[ \left[\begin{array}{ccc} x' \\ y' \end{array} \right] = \left[\begin{array}{ccc} 1 & inShear \\ 0 & 1 \end{array} \right] \left[\begin{array}{ccc} x \\ y \end{array} \right] \]When Y axis is selected
\[ \left[\begin{array}{ccc} x' \\ y' \end{array} \right] = \left[\begin{array}{ccc} 1 & 0\\ inShear & 1 \end{array} \right] \left[\begin{array}{ccc} x \\ y \end{array} \right] \]Examples
![]() |
![]() |
ShearImage performed on the sample image with inAxis = X, inShear = 0.50.
Errors
List of possible exceptions:
Error type | Description |
---|---|
DomainError | inImage and outImage are not distinct in ShearImage. |
See Also
- ShearRegion – Computes a leant region.