C# Emgu 类型转换

2021-07-04 10:06

阅读:505

标签:tput   bit   mat   图像   出现   标准   tar   out   data   

 

Bitmap:

  Bitmap位图文件,是Windows标准格式,也是.Net主要的图像存储格式。

  Bitmap类以System.Drawing为命名空间,继承抽象类Image,同时里面封装了非常多对图像操作的函数。

   Image

    Image是Emgu Cv3.0版本之前的主要存储图像类型,同时也在3.0之后也是兼容。

    TColor是一个颜色类型,TDepth是一个图像深度类型。

    Image的父类为

    (CvArray,IImage, IDisposable, ICloneable, IInputOutputArray, IOutputArray,IInputArrayOfArrays, IInputArray, IEquatable)。

    当有些函数的参数为以上类型,就可以用Image来替换。以Emgu.CV为命名空间。

 Mat:

  在Emgu Cv3.0版本之后(包括3.0版本)才出现的,Mat的父类为

  (MatDataAllocator,IImage, IDisposable, ICloneable, IInputOutputArray, IOutputArray,IInputArrayOfArrays, IInputArray, IEquatable, ISerializable)

  当有些函数的参数为以上类型,就可以用Mat来替换。以Emgu.CV为命名空间。

 UMat:

  在大多数情况下,您应该使用Matrix类来替换。

  UMat父类为(MatDataAllocator,IImage, IDisposable, ICloneable, IInputOutputArray, IOutputArray,IInputArrayOfArrays, IInputArray, IEquatable, ISerializable),以Emgu.CV为命名空 1       

 1             Bitmap bitmap = new Bitmap("001.jpg");
 2       //Bitmap转Image 3 Imagebyte> image = new Imagebyte>(bitmap); 4 //Image转Bitmap 5 Bitmap _bitmap = image.ToBitmap(); 6 Bitmap _bitmap1 = image.Bitmap; 7 //Image转Mat 8 Mat _mat = image.Mat; 9 Mat _mat1 = image.ToUMat().GetMat(Emgu.CV.CvEnum.AccessType.Fast); 10 //Mat转Image 11 Imagebyte> _image = _mat.ToImagebyte>(); 12 //Mat转UMat 13 UMat umat = _mat.GetUMat(Emgu.CV.CvEnum.AccessType.Fast); 14 //UMat转Mat 15 Mat mat = umat.GetMat(Emgu.CV.CvEnum.AccessType.Fast); 16 //UMat转Image 17 Imagebyte> _image1 = umat.ToImagebyte>(); 18 //Image转UMat 19 UMat umat2 = image.ToUMat();
20
21        imageBox1.Image =mat;
22        imgLoad.Image = image;

 

C# Emgu 类型转换

标签:tput   bit   mat   图像   出现   标准   tar   out   data   

原文地址:https://www.cnblogs.com/guyandianzi/p/9860469.html


评论


亲,登录后才可以留言!