前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C#使用emgucv把图片转为I420格式

C#使用emgucv把图片转为I420格式

原创
作者头像
彩虹猫
修改2021-02-22 14:37:24
7980
修改2021-02-22 14:37:24
举报
文章被收录于专栏:C#集成TRTCC#集成TRTC

Mat uMat:输入图片

Mat dst:结果图片

参数三根据原图格式变化

CvInvoke.CvtColor(uMat, dst, ColorConversion.Bgr2YuvI420);

byte[] data=dst.Bytes;

data:I420格式数据

Mat为emgu的图形类 Bitmap转Mat的话

Bitmap bmp = new Bitmap(width, height, PixelFormat.Format32bppPArgb);

BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.WriteOnly,PixelFormat.Format32bppPArgb);

// 获取图像参数

int stride = bmpData.Stride; // 扫描线的宽度

IntPtr iptr = bmpData.Scan0; // 获取bmpData的内存起始位置

int scanBytes = stride * height; // 用stride宽度,表示这是内存区域的大小

bmp.UnlockBits(bmpData);

Emgu.CV.Image<Bgra, Byte> ImageEmgu = new Image<Bgra, Byte>(width,height, stride, bmpData.Scan0);

ImageEmgu.Mat.CopyTo(你的Mat);

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档