Back to Aurora Vision Library website
	
 
	
                
                    
	
	
		
	You are here: Start » Function Reference » Image » Image Spatial Transforms » ShearImage
| Header: | AVL.h | 
|---|---|
| Namespace: | avl | 
| Module: | FoundationLite | 
Computes a leant image (shifts the rows).
Applications: Image preprocessing when there are slanted objects.
Syntax
C++
C#
void avl::ShearImage ( const avl::Image& inImage, float inShear, avl::Axis::Type inAxis, avl::InterpolationMethod::Type inInterpolationMethod, avl::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.
 


 - 