¿Cómo crear un mapa de bits a partir de una imagen de búfer de bytes en escala de grises?

Estoy tratando de procesar la imagen del marco mientras uso la nueva API de visión móvil con detección de rostros de Android.

Así que he creado Custom Detector para obtener Frame e intenté llamar al método getBitmap () pero es nulo, así que accedí a los datos en escala de grises de frame. ¿Hay alguna manera de crear un mapa de bits a partir de él o una clase de titular de imagen similar?

public class CustomFaceDetector extends Detector<Face> {
private Detector<Face> mDelegate;

public CustomFaceDetector(Detector<Face> delegate) {
    mDelegate = delegate;
}

public SparseArray<Face> detect(Frame frame) {
    ByteBuffer byteBuffer = frame.getGrayscaleImageData();
    byte[] bytes = byteBuffer.array();
    int w = frame.getMetadata().getWidth();
    int h = frame.getMetadata().getHeight();
    // Byte array to Bitmap here
    return mDelegate.detect(frame);
}

public boolean isOperational() {
    return mDelegate.isOperational();
}

public boolean setFocus(int id) {
    return mDelegate.setFocus(id);
}}

Respuestas a la pregunta(2)

Su respuesta a la pregunta