Я столкнулся с той же проблемой несколько месяцев назад, когда мне нужно было сделать какое-то обнаружение краев на кадрах камеры.Это прекрасно работает для меня.Попробуйте.
public void surfaceChanged(SurfaceHolder holder,int format, int width,int height)
{
camera.setPreviewCallback(new PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera camera) {
Camera.Parameters parameters = camera.getParameters();
int width = parameters.getPreviewSize().width;
int height = parameters.getPreviewSize().height;
ByteArrayOutputStream outstr = new ByteArrayOutputStream();
Rect rect = new Rect(0, 0, width, height);
YuvImage yuvimage=new YuvImage(data,ImageFormat.NV21,width,height,null);
yuvimage.compressToJpeg(rect, 100, outstr);
Bitmap bmp = BitmapFactory.decodeByteArray(outstr.toByteArray(), 0, outstr.size());
}
}
}
Теперь вы можете использовать растровое изображение для всех ваших целей обработки.Получите интересующий пиксель, и вы сможете с комфортом делать на нем RGB или HSV.