Working with Matrices

From Emgu CV: OpenCV in .NET (C#, VB, C++ and more)
Jump to: navigation, search

Depth as Generic Parameter

A Matrix is defined by its generic parameters depth. To create a 32bit floating point matrix, in Emgu CV it is done by calling

Matrix<Single> matrix = new Matrix<Single>(width, height);

Matrix Depth

The types of depth supported in Emgu CV 1.4.0.0 include

  • Byte
  • SByte
  • Single (float)
  • Double
  • UInt16
  • Int16
  • Int32 (int)

XML Serialization

Conversion to XML

You can use the following code to convert an Matrix<double> matrix to XmlDocument:

StringBuilder sb = new StringBuilder();
(new XmlSerializer(typeof(Matrix<double>))).Serialize(new StringWriter(sb), o);
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(sb.ToString());

Conversion from XML

You can use the following code to convert a XmlDocument xDoc to Matrix<double>

Matrix<double> matrix = (Matrix<double>) 
(new XmlSerializer(typeof(Matrix<double>))).Deserialize(new XmlNodeReader(xDoc));