前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YVU格式Y分量存储为灰度

YVU格式Y分量存储为灰度

原创
作者头像
jerrypxiao
发布2018-07-19 13:06:57
1.5K0
发布2018-07-19 13:06:57
举报
文章被收录于专栏:音视频专栏音视频专栏

Image

 Image为Android 5.0以上提供的类,用于保存YUV420格式的集合。

长和宽

对于YUV来说图片的宽和高是必不可少的,因为YUV本身只存储颜色信息,想要还原出图片,必须知道图片的长宽。Image保存有图片的宽和高,可以通过getWidth()和getHeight()得到。

YUV分量

Y、U和V三个分量的数据分别保存在三个Plane类中,可以通过getPlanes()得到。Plane实际是对ByteBuffer的封装。

Image保证了plane #0一定是Y,#1一定是U,#2一定是V。

且对于plane #0,Y分量数据一定是连续存储的,中间不会有U或V数据穿插,也就是说我们一定能够一次性得到所有Y分量的值。

这里我想得到所有的Y分量的值,保存为灰度图

Image获取方式

得到Rect的解析

pixelStride 1  存储间隔0

rowStride 640   实际存储的是每行有640个像素

width 528   这里用getCropRect得到有效的像素宽度是528列

height 960  有效的像素的高度为960行

buffer size 614288  总共buffer的大小  为 959 * 640 + 528, 最后一行只填充了有效的像素 

所以要得到真正有效的全部Y分量要如下进行获取:

有效的Y分量

获取方式

将字节数组转为灰度图保存

若转换为Opencv中的mat

可以进行相关的图像处理操作

参考中的一些想法Android: Image类浅析(结合YUV_420_888)

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Image
  • 长和宽
  • YUV分量
  • 这里我想得到所有的Y分量的值,保存为灰度图
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档