Como posso adicionar efeito térmico à imagem YUV
Depois de pesquisar muito no Google. Eu encontro uma maneira de alterar a Visualização de um único quadro. Corrija-me se eu estiver enganado.
camera.setPreviewCallback(new PreviewCallback()
ligue de volta deixar vocêget the frame of a Camera in byte
. Agora você pode salvá-lo ou modificá-lo.
Antes de tudo, eu só quero adicionar efeito térmico ou noturno a esses bytes. Como posso adicionar essas cores (efeitos) ao YUVImage or byte[]
dados.
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());*/
}
}
});
Como aplicar filtro / efeito a YUVImage ou byte [].
E para tirar uma foto eu devo usarandroid.hardware.Camera.PictureCallback
ousetOneShotPreviewCallback()
Editar
Acho que encontro alguns links úteis que ajudam a filtrar a imagem de bitmap.