onPreviewFrame(byte [] data、camera camera){...}から成功しました NV21はグレー値としてYを抽出しますが、グレー値を出力します。 0〜255しかし、黒の領域によると、0になりますが、-16777216が出力されます。0〜255を見るには PS。ARGB_8888は32ビットなので、黒い領域を抽出することがわかります。0000 0000 0000 0000 0000 0000 0000 0000 0000AndroidのNV21とグレースケールの印刷
public Bitmap applyGrayScale(byte [] data, int width, int height) {
int[] pixels = new int[width * height];
int p;
int size = width*height;
for(int i = 0; i < size; i++) {
p = data[i] & 0xFF;
pixels[i] = 0xff000000 | p<<16 | p<<8 | p;
Log.d("pixels=", String.valueOf(pixels[i]));
}
return Bitmap.createBitmap(pixels, width, height, Bitmap.Config.ARGB_8888);
}