ImageLabeler

public interface ImageLabeler extends Detector<List<ImageLabel>>, OptionalModuleApi

An ImageLabeling client for finding ImageLabels in a supplied image.

An image labeler is created via ImageLabeling.getClient(ImageLabelerOptionsBase).

Example:

ImageLabeler imageLabeler = ImageLabeling.getClient(options);
 

To perform label detection in an image, you first need to create an instance of InputImage from a Bitmap, ByteBuffer, etc. See InputImage documentation for more details. For example, the code below creates an InputImage from a Bitmap.

InputImage image = InputImage.fromBitmap(bitmap, rotationDegrees);
 

Then the code below can detect labels in the supplied InputImage.

Task<List<ImageLabel>> task = imageLabeler.process(image);
 task.addOnSuccessListener(...).addOnFailureListener(...);
 

Public Method Summary

abstract void
close()
Closes the detector and releases its resources.
abstract Task<List<ImageLabel>>
process(MlImage image)
Detects image labels from a supplied image.
abstract Task<List<ImageLabel>>
process(InputImage image)
Detects image labels from a supplied image.

Inherited Method Summary

Public Methods

public abstract void close ()

Closes the detector and releases its resources.

public abstract Task<List<ImageLabel>> process (MlImage image)

Detects image labels from a supplied image.

This is an experimental API in beta version.

For image labeling model trained with AutoML Vision Edge, creating an MlImage object from BitmapMlImageBuilder gives best performance.

For other image labeling models, create an InputImage object using any of MlImage's builder methods. See MlImage documentation for more details.

If ImageLabeler is created with CustomImageLabelerOptions, the returned Task will be an MlKitException with specific error code in the following cases: (1) with error code MlKitException.NOT_FOUND if cannot find the custom classifier model file; (2) with error code MlKitException.INVALID_ARGUMENT if the custom model file is not compatible with this SDK.

Returns
  • a Task that asynchronously returns a List of detected ImageLabels. The labels are returned sorted by confidence in descending order. An empty list is returned by the Task if no labels are detected.

public abstract Task<List<ImageLabel>> process (InputImage image)

Detects image labels from a supplied image.

For image labeling model trained with AutoML Vision Edge, creating an InputImage object from InputImage.fromBitmap(Bitmap, int) gives best performance.

For other image labeling models, create an InputImage object using any of InputImage's factory methods. See InputImage documentation for more details.

If ImageLabeler is created with CustomImageLabelerOptions, the returned Task will be an MlKitException with specific error code in the following cases: (1) with error code MlKitException.NOT_FOUND if cannot find the custom classifier model file; (2) with error code MlKitException.INVALID_ARGUMENT if the custom model file is not compatible with this SDK.

Returns
  • a Task that asynchronously returns a List of detected ImageLabels. The labels are returned sorted by confidence in descending order. An empty list is returned by the Task if no labels are detected.