CV 使用规范介绍
cv在对图像处理时,有以下几个步骤
- 构造
- process
- 释放
0.1. 构造
在 Android MomoCVCenter接口文档 中有详细说明
0.2. process
该步骤是真正进行数据处理的步骤,如:
videoProcessor.ProcessFrame(mmFrame, videoParams, videoInfo);
其中,MMFrame,VideoParams,VideoInfo 本文叙述的重点
MMFrame
MMFrame是所有图像处理的检测器所必须的一个参数,它描述了一帧图像的基本数据 --- 宽高,步长,格式,数据长度,数据byte数组
public class MMFrame implements Serializable {
public class MMFormat {
public static final int FMT_NONE = 0;
public static final int FMT_RGBA = 4; //same as Bitmap.Config.ARGB_8888 in android
public static final int FMT_BGRA = 5;
public static final int FMT_NV21 = 17;
public static final int FMT_NV12 = 18;
public static final int FMT_BGR = 24;
public static final int FMT_RGB = 25;
public static final int FMT_RGB56 = 27; //same as Bitmap.Config.RGB_565 in android
}
public int width_ = 0;
public int height_ = 0;
public int step_ = 0;
public int format_ = MMFormat.FMT_NONE;
public int data_len_ = 0;
public byte[] data_ptr_ = null;
}
VideoParams
VideoParams是VideoProcessor中,用于配置的一些参数集,所有的检测器都会对应一个params,例如VideoProcessor会有VideoParams,Segmentation(抠图检测器)会有SegmentationParams等
VideoInfo
VideoInfo是VideoProcessor中,用于接收返回数据的类,所有的检测器都会对应一个Info,例如VideoProcessor会有VideoInfo,Segmentation会有SegmentationInfo等。VideoInfo中存储着经过检测器process处理后,得到的人脸数据等信息,SegmentationInfo中则是Segmentation经过process后,生成的蒙版二进制数据
0.3. 释放
每一个检测器都有一个Release()接口,用于释放资源
VideoProcessor.Release();