2

谷歌搜索了很多之后。我找到了一种更改单帧预览的方法。如果我错了,请纠正我。

camera.setPreviewCallback(new PreviewCallback() 

回调让你get the frame of a Camera in byte。现在您可以保存或修改它。

首先,我只想为这些字节添加热效应或夜间效应。如何将这些颜色(效果)添加到 YUVImage or byte[]数据中。

camera.setPreviewCallback(new PreviewCallback() {
                    @Override
                    public void onPreviewFrame(byte[] data, Camera camera) {
                        // TODO Auto-generated method stub
                        Camera.Parameters parameters = camera.getParameters();
                        Size size = parameters.getPreviewSize();
                        YuvImage image = new YuvImage(data, ImageFormat.NV21,
                                size.width, size.height, null);
                        /*Rect rectangle = new Rect();
                        rectangle.bottom = size.height;
                        rectangle.top = 0;
                        rectangle.left = 0;
                        rectangle.right = size.width;
                        ByteArrayOutputStream out2 = new ByteArrayOutputStream();
                        image.compressToJpeg(rectangle, 100, out2);
                        DataInputStream in = new DataInputStream();
                        in.write(out2.toByteArray());*/

                        }
                    }

                });

如何对 YUVImage 或 byte[] 应用滤镜/效果。

为了拍照,我应该使用android.hardware.Camera.PictureCallbacksetOneShotPreviewCallback()

编辑

我想我找到了一些有助于过滤位图图像的有用链接。

setPixel 解释

getPixel 和 setPixel 无法正常工作

4

0 回答 0