MatrixH Class 
Namespace: Accord.Imaging
The MatrixH type exposes the following members.
Name  Description  

MatrixH 
Creates a new projective matrix.
 
MatrixH(Double) 
Creates a new projective matrix.
 
MatrixH(Single) 
Creates a new projective matrix.
 
MatrixH(Single) 
Creates a new projective matrix.
 
MatrixH(Single, Single, Single, Single, Single, Single, Single, Single) 
Creates a new projective matrix.
 
MatrixH(Single, Single, Single, Single, Single, Single, Single, Single, Single) 
Creates a new projective matrix.

Name  Description  

Elements 
Gets the elements of this matrix.
 
IsAffine 
Gets whether this is an Affine transformation matrix.
 
IsIdentity 
Gets whether this is the identity transformation.
 
IsInvertible 
Gets whether this matrix is invertible.
 
OffsetX 
Gets the offset x
 
OffsetY 
Gets the offset y

Name  Description  

Equals 
Compares two objects for equality.
(Overrides ObjectEquals(Object).)  
Finalize  Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)  
GetHashCode 
Returns the hash code for this instance.
(Overrides ObjectGetHashCode.)  
GetType  Gets the Type of the current instance. (Inherited from Object.)  
Inverse 
Returns the inverse matrix, if this matrix is invertible.
 
MemberwiseClone  Creates a shallow copy of the current Object. (Inherited from Object.)  
Multiply 
Multiplies this matrix, returning a new matrix as result.
 
Reset 
Resets this matrix to be the identity.
 
ToDoubleArray 
Double[,] conversion.
 
ToSingleArray 
Single[,] conversion.
 
ToString  Returns a string that represents the current object. (Inherited from Object.)  
TransformPoints(PointF) 
Transforms the given points using this transformation matrix.
 
TransformPoints(PointH) 
Transforms the given points using this transformation matrix.
 
Transpose 
Gets the transpose of this transformation matrix.

Name  Description  

(MatrixH to Double) 
Double[,] conversion.
 
(MatrixH to Single) 
Single[,] conversion.
 
Multiply 
Matrix multiplication.

Name  Description  

HasMethod 
Checks whether an object implements a method with the given name.
(Defined by ExtensionMethods.)  
IsEqual 
Compares two objects for equality, performing an elementwise
comparison if the elements are vectors or matrices.
(Defined by Matrix.)  
To(Type)  Overloaded.
Converts an object into another type, irrespective of whether
the conversion can be done at compile time or not. This can be
used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.)  
ToT  Overloaded.
Converts an object into another type, irrespective of whether
the conversion can be done at compile time or not. This can be
used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.) 
Linear transformations are not the only ones that can be represented by matrices. Using homogeneous coordinates, both affine transformations and perspective projections on R^n can be represented as linear transformations on R^n+1 (that is, n+1dimensional real projective space).
The general transformation matrix has 8 degrees of freedom, as the last element is just a scale parameter.