我正在尝试创建一个Android应用程序,可以实时处理相机帧。首先,我只想显示相机所看到的灰度版本。我已经成功从onPreviewFrame
方法中的字节数组中提取了适当的值。以下仅是我的代码片段:
byte[] pic;
int pic_size;
Bitmap picframe;
public void onPreviewFrame(byte[] frame, Camera c)
{
pic_size = mCamera.getParameters().getPreviewSize().height * mCamera.getParameters().getPreviewSize().width;
pic = new byte[pic_size];
for(int i = 0; i < pic_size; i++)
{
pic[i] = frame[i];
}
picframe = BitmapFactory.decodeByteArray(pic, 0, pic_size);
}
第一个[width*height]
的值是byte[]
帧数组的亮度(灰度)值。我从中提取了它们,如何将它们显示为图像?它也不是2D数组,那么我该如何指定宽度和高度?