Emgucv类型转换

常用容器:

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为命名空间。
        /// <summary>
        /// 类型转换
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnTranstion_Click(object sender, EventArgs e)
        {
            Bitmap bitmap = new Bitmap("001.jpg");
            //Bitmap转Image<Bgr, byte>
            Image<Bgr, byte> image = new Image<Bgr, byte>(bitmap);
            //Image<Bgr, byte>转Bitmap
            Bitmap _bitmap = image.ToBitmap();
            Bitmap _bitmap1 = image.Bitmap;
            //Image<Bgr, byte>转Mat
            Mat _mat = image.Mat;
            Mat _mat1 = image.ToUMat().GetMat(Emgu.CV.CvEnum.AccessType.Fast);
            //Mat转Image<Bgr, byte>
            Image<Bgr, byte> _image = _mat.ToImage<Bgr, byte>();
            //Mat转UMat
            UMat umat = _mat.GetUMat(Emgu.CV.CvEnum.AccessType.Fast);
            //UMat转Mat
            Mat mat = umat.GetMat(Emgu.CV.CvEnum.AccessType.Fast);
            //UMat转Image<Bgr, byte>
            Image<Bgr, byte> _image1 = umat.ToImage<Bgr, byte>();
            //Image<Bgr, byte>转UMat
            UMat umat2 = image.ToUMat();
 
            imgLoad.Image = image;
        }

--------------------- 
原文:https://blog.csdn.net/zhgl7688/article/details/70963250 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JoannaJuanCV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值