zoukankan      html  css  js  c++  java
  • YuvImage知识点总结

    一、 什么是YuvImage?

    YuvImage包含了YUV数据,并且提供了一个将YUV数据压缩成Jpeg数据的方法。

    二、  什么时候使用

    相机Camera类的PreviewCallback回调中,这个接口回调的是相机的预览图片,是YUV格式的数据,这是,利用YuvImage对象的compressToJpeg方法生成Jpeg格式的图片保存在本地。

    三、 包含属性

    //存储的字节数
    private final static int WORKING_COMPRESS_STORAGE = 4096;
    

      

    //YUV格式
    private int mFormat;
    

      

    // 原始的YUV数据
    // 注意:多个图像平面的情况下,需要连接成一个单个字节数组
    private byte[] mData;
    

      

    //跨距   stride指在内存中每行像素所占的空间  每个图像平面的行字节数(不太清楚)
    private int[] mStrides;
    

      

    //图像的宽度
    private int mWidth
    

      

    // 图像的高度
    private int mHeight
    

    四、  构造方法

    1) yuv : YUV数据,多个图像平面的情况下,需要连接成一个单个字节数组

    2) format:压缩格式,目前仅支持ImageFormat.NV21与ImageFormat.YUY2两个格式。

    3) width:YuvImage的宽度

    4) height:YuvImage的宽度

    5) strides:(可选)每个图像平面的行字节。 如果YUV数据包含Padding,必须为每一个图像给一定的幅度,如果strides属性为null,该方法假设没有padding,并且根据格式和宽度自身派生行字节。

    6) throws : 不合法的格式,宽高小于0,yue为空

    五、  压缩方法

    1) rectangle :要压缩的矩形区域

    2) quality :压缩范围,0-100,其中,0表示低质量的压缩,100表示高质量的压缩

    3) stream :压缩数据

    六、  注意:因为安卓的摄像Camera天生是横的,竖屏拍照或者摄像的时候,需要旋转YuvImage。

  • 相关阅读:
    IIS iframe嵌套的别人的页面 突然就打不开了
    C#基础知识之可空类型
    EditorConfig插件和ESLint
    ES6-ES11新语法之ES10
    ES6-ES11新语法之ES9
    pipenv快速入门
    Pycharm拉取git仓库代码
    【pytest学习10】pytest报告,html,allure
    jira&confluence之什么是epic/feature/story/task
    【pytest学习9】usefixture的简单使用
  • 原文地址:https://www.cnblogs.com/Ayinger/p/11006354.html
Copyright © 2011-2022 走看看