Sto cercando di ottenere l'immagine del frame da elaborare mentre utilizzo la nuova API di visione mobile Android.Come creare Bitmap dall'immagine buffer di byte grayscaled?
Quindi ho creato Custom Detector per ottenere Frame e ho provato a chiamare il metodo getBitmap() ma è nullo quindi ho accesso ai dati in scala di grigi del frame. C'è un modo per creare una bitmap o una classe di immagini simile?
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);
}}
Il frame non ha dati bitmap perché proviene direttamente dalla fotocamera. Il formato immagine della videocamera è NV21: http://developer.android.com/reference/android/graphics/ImageFormat.html#NV21 – pm0733464