Como criar Bitmap a partir da imagem do buffer de bytes em escala de cinza?
Estou tentando obter a imagem do quadro para processar enquanto estiver usando a nova API de visão móvel para detecção de rosto Android.
Então, eu criei o Detector personalizado para obter o Frame e tentei chamar o método getBitmap (), mas como ele é nulo, acessei os dados em escala de cinza do frame. Existe uma maneira de criar bitmap a partir dele ou classe de suporte de imagem semelhante?
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);
}}