Я хочу использовать свой телефон для Android, чтобы обработать изображение, например, сделать любую операцию с рамкой и показать ее с изменением (показать изображение в черно-белое, серого, сепия и т. Д.). Это мой код:Обработка кадров камеры на Android
public class CameraPreview extends SurfaceView implements SurfaceHolder.Callback,PreviewCallback {
SurfaceHolder mHolder;
Camera mCamera;
private Parameters parameters;
private Size previewSize;
private int[] pixels;
public CameraPreview(Context context) {
super(context);
SurfaceHolder mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_NORMAL);
this.setFocusable(true);
this.requestFocus();
}
public void surfaceCreated(SurfaceHolder holder) {
mCamera = Camera.open();
}
public void surfaceDestroyed(SurfaceHolder holder) {
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
setImageSize();
mCamera.startPreview();
mCamera.setPreviewCallback(this);
}
public void onPreviewFrame(byte[] data, Camera camera) {
// transforms NV21 pixel data into RGB pixels
decodeYUV420SP(pixels, data, previewSize.width, previewSize.height);
//here process the image
}
}
проблема заключается в том, что я не знаю, как показать новое изображение обрабатывается. В onPreviewFrame я конвертирую yuv в rgb, затем обрабатываю изображение, то есть конвертировать в оттенках серого, но что я делаю для показа нового изображения? Мне нужна помощь, спасибо !!!!!!!!!!!