二次图像处理
Camera2的API扩展了对YUV的支持,及图像再处理支持。要知道是否据有这个能力,可以调getCameraCharacteristics()方法,检查REPROCESS_MAX_CAPTURE_STALL这个键值 。如果设备支持再处理,则可以调用createReprocessableCaptureSession(),创建一个再处理摄影设备,然后创建输入缓冲再处理请求。
使用ImageWriter类来连接输入缓冲区流和摄像头再处理输入流。
要获取一个空的缓冲区,按以下模式操作。
1.调用dequeueInputImage()方法
2.把数据填入输入缓冲区
3.调用queueInputImage()把缓冲区发给摄像头做再处理。
如果你使用ImageWriter类同时又使用PRIVATE的图像,你的应用不能直接访问图像数据,你应该通过queueInputImage()把PRIVATE图像传递给ImageWriter,而不是直接复制缓冲区。
ImageReader类现支持PRIVATE格式的图片流。这个支持请允许你维持ImageReader的输出环形的图片队列,选择一张或多张,发给ImageWriter。