我正在开发Android项目,我必须反复拍照并使用面部识别API处理它们。我意识到我必须使用camera2的方法(setRepeatingRequest或setRepeatingBurst),但这些方法每5秒左右才拍一次照片。我想知道如何改变这一点,每秒至少拍两张没有滞后的照片。这甚至可能吗?如果没有,你会建议我用它做什么?
答案 0 :(得分:1)
private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
= new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
try (Image image = reader.acquireNextImage()) {
Image.Plane[] planes = image.getPlanes();
if (planes.length > 0) {
ByteBuffer buffer = planes[0].getBuffer();
byte[] data = new byte[buffer.remaining()];
buffer.get(data);
mCallback.onPictureTaken(data);
}
}
}
};
这可能会对您有所帮助,这里是使用Camera2
。
https://github.com/google/cameraview https://github.com/google/cameraview/blob/master/library/src/main/api21/com/google/android/cameraview/Camera2.java