/** Custom Image Classifier Demo. */
public class ImageLabelingProcessor extends VisionProcessorBase> {
private static final String TAG = "ImageLabelingProcessor";
private final FirebaseVisionLabelDetector detector;
public ImageLabelingProcessor() {
detector = FirebaseVision.getInstance().getVisionLabelDetector();
}
@Override
public void stop() {
try {
detector.close();
} catch (IOException e) {
Log.e(TAG, "Exception thrown while trying to close Text Detector: " + e);
}
}
@Override
protected Task> detectInImage(FirebaseVisionImage image) {
return detector.detectInImage(image);
}
@Override
protected void onSuccess(
@NonNull List labels,
@NonNull FrameMetadata frameMetadata,
@NonNull GraphicOverlay graphicOverlay) {
graphicOverlay.clear();
LabelGraphic labelGraphic = new LabelGraphic(graphicOverlay, labels);
graphicOverlay.add(labelGraphic);
}
@Override
protected void onFailure(@NonNull Exception e) {
Log.w(TAG, "Label detection failed." + e);
}
}