package com.basic.security.utils; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.ImageFormat; import android.graphics.Rect; import android.graphics.YuvImage; import java.io.ByteArrayOutputStream; import java.io.Serializable; import java.util.*; public class DetectedResult implements Serializable { public byte[] originalCameraData = null; public boolean originalCameraDataChanged; public List facePositions = new ArrayList<>(); public byte[] frameJpgData; public byte[] bgrData; public int width; public int height; public String resultText; public int featureCount = 0; public boolean isRgb; public boolean shouldExtractFeature; public Bitmap frameBitmap; public byte[] nv21Array; ByteArrayOutputStream jpgBaos = new ByteArrayOutputStream(); public Bitmap getFrameBitmap() { if (frameBitmap == null) { if (nv21Array != null) { YuvImage im = new YuvImage(nv21Array, ImageFormat.NV21, width, height, null); Rect r = new Rect(0, 0, width, height); jpgBaos.reset(); im.compressToJpeg(r, 100, jpgBaos); byte[] jpgByteArray = jpgBaos.toByteArray(); frameBitmap = BitmapFactory.decodeByteArray(jpgByteArray, 0, jpgBaos.size()); } } return frameBitmap; } }