在单个CameraSource(Google移动视觉)中实施FaceDetector和TextRecognizer

时间:2018-03-02 10:10:54

标签: android google-api ocr face-detection google-vision

在我的Android应用程序中,我需要同时进行面部检测和ORC功能。我可以在同一个CameraSource上实现这两个吗?有可能吗?

Context context = getApplicationContext();

TextRecognizer textRecognizer = new TextRecognizer.Builder(context).build();
textRecognizer.setProcessor(new OcrDetectorProcessor(mGraphicOverlay));

FaceDetector detector = new FaceDetector.Builder(context).setClassificationType(FaceDetector.ALL_CLASSIFICATIONS).build();
detector.setProcessor(new MultiProcessor.Builder<>(new GraphicFaceTrackerFactory()).build());

mCameraSource = new CameraSource.Builder(getApplicationContext(), detector)
                    .setFacing(CameraSource.CAMERA_FACING_BACK)
                    .setRequestedPreviewSize(1280, 1024)
                    .setRequestedFps(15.0f)
                    .setFlashMode(useFlash ? Camera.Parameters.FLASH_MODE_TORCH : null)
                    .setFocusMode(autoFocus ? Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE : null)
                    .build();

在示例代码中,它们一次只能将一个检测器传递给CameraSource。 textRecognizerdetector

1 个答案:

答案 0 :(得分:0)

更新:我找到了办法。您可以创建MultiDetector并将FaceDetectorTextRecognizer添加到其中,并将MultiDetector对象传递给CameraSource.Builder

MultiDetector multiDetector = new MultiDetector.Builder()
            .add(textRecognizer)
            .add(detector)
            .build();

多功能探测器将从相机源接收一系列帧。每个帧都提交给两个探测器。 MultiFetector