我正在使用Google移动视觉进行Qr代码检测和OCR,这是由Camera APi(不是camera2 api)支持的。
我将帧速率固定为15fps,但在某些设备中,预览速度非常慢,耗时太长,需要5-6秒才能进行对焦,但光线能见度却很低。如果我将帧速率更改为30fps,则预览非常流畅且焦点很快但低光可见度非常差,并且某些手机中的预览会产生毛刺/闪烁帧。
我可以做些什么来实现良好的对焦,平滑预览和可管理的低光可见度?我应该使用Camera2 APi来实现这一目标吗?或者任何其他建议或建议来实现这一目标会更有帮助。
使用ocr检测创建摄像机源
mCameraSource = new CameraSource.Builder(getApplicationContext(), textRecognizer)
.setFacing(CameraSource.CAMERA_FACING_BACK)
.setRequestedPreviewSize(height, width)
.setRequestedFps(30.0f) // 15 or 30FPS?
.setFocusMode(autoFocus ? Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE : null)
.setFlashMode(useFlash ? Camera.Parameters.FLASH_MODE_TORCH : null)
.build();
Qr码检测,帧被单独馈送到Qr码检测器。
Frame frame = new Frame.Builder()
.setImageData(byteBufferData, size.width,size.height, camFormat)
.build();
SparseArray<Barcode> barcodes = detector.detect(frame);
我尝试将帧速率更改为不同的值(在可用范围内),但这没有帮助。