C# Emgu 類型轉換


 

Bitmap:

  Bitmap位圖文件,是Windows標准格式,也是.Net主要的圖像存儲格式。

  Bitmap類以System.Drawing為命名空間,繼承抽象類Image,同時里面封裝了非常多對圖像操作的函數。

   Image<TColor, TDepth>:

    Image<TColor,TDepth>是Emgu Cv3.0版本之前的主要存儲圖像類型,同時也在3.0之后也是兼容。

    TColor是一個顏色類型,TDepth是一個圖像深度類型。

    Image<TColor, TDepth>的父類為

    (CvArray<TDepth>,IImage, IDisposable, ICloneable, IInputOutputArray, IOutputArray,IInputArrayOfArrays, IInputArray, IEquatable<Image<TColor, TDepth>)。

    當有些函數的參數為以上類型,就可以用Image<TColor,TDepth>來替換。以Emgu.CV為命名空間。

 Mat:

  在Emgu Cv3.0版本之后(包括3.0版本)才出現的,Mat的父類為

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

  當有些函數的參數為以上類型,就可以用Mat來替換。以Emgu.CV為命名空間。

 UMat:

  在大多數情況下,您應該使用Matrix類來替換。

  UMat父類為(MatDataAllocator,IImage, IDisposable, ICloneable, IInputOutputArray, IOutputArray,IInputArrayOfArrays, IInputArray, IEquatable<UMat>, ISerializable),以Emgu.CV為命名空 1       

 1             Bitmap bitmap = new Bitmap("001.jpg");
 2       //Bitmap轉Image<Bgr, byte> 3 Image<Bgr, byte> image = new Image<Bgr, byte>(bitmap); 4 //Image<Bgr, byte>轉Bitmap 5 Bitmap _bitmap = image.ToBitmap(); 6 Bitmap _bitmap1 = image.Bitmap; 7 //Image<Bgr, byte>轉Mat 8 Mat _mat = image.Mat; 9 Mat _mat1 = image.ToUMat().GetMat(Emgu.CV.CvEnum.AccessType.Fast); 10 //Mat轉Image<Bgr, byte> 11 Image<Bgr, byte> _image = _mat.ToImage<Bgr, byte>(); 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<Bgr, byte> 17 Image<Bgr, byte> _image1 = umat.ToImage<Bgr, byte>(); 18 //Image<Bgr, byte>轉UMat 19 UMat umat2 = image.ToUMat();
20
21        imageBox1.Image =mat;
22        imgLoad.Image = image;


 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM