ImageLabeler
Stay organized with collections
Save and categorize content based on your preferences.
An ImageLabeling
client for finding ImageLabel
s 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(...);
Inherited Method Summary
From interface java.io.Closeable
From interface java.lang.AutoCloseable
Public Methods
public abstract void close ()
Closes the detector and releases its resources.
Returns
- a
Task
that
asynchronously returns a List
of detected
ImageLabel
s.
The labels are returned sorted by confidence in descending order. An empty list is
returned by the Task
if no
labels are detected.
Returns
- a
Task
that
asynchronously returns a List
of detected
ImageLabel
s.
The labels are returned sorted by confidence in descending order. An empty list is
returned by the Task
if no
labels are detected.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-10-31 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-10-31 UTC."],[[["\u003cp\u003e\u003ccode\u003eImageLabeler\u003c/code\u003e is an interface used to detect labels within images using machine learning.\u003c/p\u003e\n"],["\u003cp\u003eYou create an \u003ccode\u003eImageLabeler\u003c/code\u003e instance using \u003ccode\u003eImageLabeling.getClient()\u003c/code\u003e with desired options.\u003c/p\u003e\n"],["\u003cp\u003eTo perform detection, process an \u003ccode\u003eInputImage\u003c/code\u003e or \u003ccode\u003eMlImage\u003c/code\u003e containing the target image using the \u003ccode\u003eprocess()\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eprocess()\u003c/code\u003e method returns a \u003ccode\u003eTask\u003c/code\u003e which provides a list of \u003ccode\u003eImageLabel\u003c/code\u003e results, sorted by confidence.\u003c/p\u003e\n"],["\u003cp\u003eWhen finished using the \u003ccode\u003eImageLabeler\u003c/code\u003e, call \u003ccode\u003eclose()\u003c/code\u003e to release its resources.\u003c/p\u003e\n"]]],[],null,["# ImageLabeler\n\npublic interface **ImageLabeler** extends [Detector](/android/reference/com/google/mlkit/vision/interfaces/Detector)\\\u003c[List](//developer.android.com/reference/java/util/List.html)\\\u003c[ImageLabel](/android/reference/com/google/mlkit/vision/label/ImageLabel)\\\u003e\\\u003e, [OptionalModuleApi](/android/reference/com/google/android/gms/common/api/OptionalModuleApi) \nAn [ImageLabeling](/android/reference/com/google/mlkit/vision/label/ImageLabeling)\nclient for finding [ImageLabel](/android/reference/com/google/mlkit/vision/label/ImageLabel)s in\na supplied image.\n\nAn image labeler is created via [ImageLabeling.getClient(ImageLabelerOptionsBase)](/android/reference/com/google/mlkit/vision/label/ImageLabeling#getClient(com.google.mlkit.vision.label.ImageLabelerOptionsBase)).\n\nExample: \n\n ImageLabeler imageLabeler = ImageLabeling.getClient(options);\n \nTo perform label detection in an image, you first need to create an instance of\n[InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\nfrom a [Bitmap](//developer.android.com/reference/android/graphics/Bitmap.html),\n[ByteBuffer](//developer.android.com/reference/java/nio/ByteBuffer.html), etc. See\n[InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\ndocumentation for more details. For example, the code below creates an [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\nfrom a [Bitmap](//developer.android.com/reference/android/graphics/Bitmap.html). \n\n InputImage image = InputImage.fromBitmap(bitmap, rotationDegrees);\n \nThen the code below can detect labels in the supplied [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage). \n\n Task\u003cList\u003cImageLabel\u003e\u003e task = imageLabeler.process(image);\n task.addOnSuccessListener(...).addOnFailureListener(...);\n \n### Public Method Summary\n\n|-------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract void | [close](/android/reference/com/google/mlkit/vision/label/ImageLabeler#close())() Closes the detector and releases its resources. |\n| abstract Task\\\u003c[List](//developer.android.com/reference/java/util/List.html)\\\u003c[ImageLabel](/android/reference/com/google/mlkit/vision/label/ImageLabel)\\\u003e\\\u003e | [process](/android/reference/com/google/mlkit/vision/label/ImageLabeler#process(com.google.android.odml.image.MlImage))([MlImage](/android/reference/com/google/android/odml/image/MlImage) image) Detects image labels from a supplied image. |\n| abstract Task\\\u003c[List](//developer.android.com/reference/java/util/List.html)\\\u003c[ImageLabel](/android/reference/com/google/mlkit/vision/label/ImageLabel)\\\u003e\\\u003e | [process](/android/reference/com/google/mlkit/vision/label/ImageLabeler#process(com.google.mlkit.vision.common.InputImage))([InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) image) Detects image labels from a supplied image. |\n\n### Inherited Method Summary\n\nFrom interface java.io.Closeable \n\n|---------------|---------|\n| abstract void | close() |\n\nFrom interface java.lang.AutoCloseable \n\n|---------------|---------|\n| abstract void | close() |\n\nPublic Methods\n--------------\n\n#### public abstract void **close** ()\n\nCloses the detector and releases its resources. \n\n#### public abstract Task\\\u003c[List](//developer.android.com/reference/java/util/List.html)\\\u003c[ImageLabel](/android/reference/com/google/mlkit/vision/label/ImageLabel)\\\u003e\\\u003e\n**process** ([MlImage](/android/reference/com/google/android/odml/image/MlImage) image)\n\nDetects image labels from a supplied image.\n\nThis is an experimental API in beta version.\n\nFor image labeling model trained with AutoML Vision Edge, creating an [MlImage](/android/reference/com/google/android/odml/image/MlImage)\nobject from [BitmapMlImageBuilder](/android/reference/com/google/android/odml/image/BitmapMlImageBuilder)\ngives best performance.\n\nFor other image labeling models, create an [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\nobject using any of [MlImage](/android/reference/com/google/android/odml/image/MlImage)'s\nbuilder methods. See [MlImage](/android/reference/com/google/android/odml/image/MlImage)\ndocumentation for more details.\n\nIf [ImageLabeler](/android/reference/com/google/mlkit/vision/label/ImageLabeler)\nis created with [CustomImageLabelerOptions](/android/reference/com/google/mlkit/vision/label/custom/CustomImageLabelerOptions), the returned [Task](/android/reference/com/google/android/gms/tasks/Task) will be an\n[MlKitException](/android/reference/com/google/mlkit/common/MlKitException)\nwith specific error code in the following cases: (1) with error code [MlKitException.NOT_FOUND](/android/reference/com/google/mlkit/common/MlKitException#NOT_FOUND)\nif cannot find the custom classifier model file; (2) with error code [MlKitException.INVALID_ARGUMENT](/android/reference/com/google/mlkit/common/MlKitException#INVALID_ARGUMENT)\nif the custom model file is not compatible with this SDK. \n\n##### Returns\n\n- a [Task](/android/reference/com/google/android/gms/tasks/Task) that asynchronously returns a [List](//developer.android.com/reference/java/util/List.html) of detected [ImageLabel](/android/reference/com/google/mlkit/vision/label/ImageLabel)s. The labels are returned sorted by confidence in descending order. An empty list is returned by the [Task](/android/reference/com/google/android/gms/tasks/Task) if no labels are detected. \n\n#### public abstract Task\\\u003c[List](//developer.android.com/reference/java/util/List.html)\\\u003c[ImageLabel](/android/reference/com/google/mlkit/vision/label/ImageLabel)\\\u003e\\\u003e\n**process** ([InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) image)\n\nDetects image labels from a supplied image.\n\nFor image labeling model trained with AutoML Vision Edge, creating an [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\nobject from [InputImage.fromBitmap(Bitmap, int)](/android/reference/com/google/mlkit/vision/common/InputImage#fromBitmap(android.graphics.Bitmap,%20int)) gives best performance.\n\nFor other image labeling models, create an [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\nobject using any of [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)'s\nfactory methods. See [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\ndocumentation for more details.\n\nIf [ImageLabeler](/android/reference/com/google/mlkit/vision/label/ImageLabeler)\nis created with [CustomImageLabelerOptions](/android/reference/com/google/mlkit/vision/label/custom/CustomImageLabelerOptions), the returned [Task](/android/reference/com/google/android/gms/tasks/Task) will be an\n[MlKitException](/android/reference/com/google/mlkit/common/MlKitException)\nwith specific error code in the following cases: (1) with error code [MlKitException.NOT_FOUND](/android/reference/com/google/mlkit/common/MlKitException#NOT_FOUND)\nif cannot find the custom classifier model file; (2) with error code [MlKitException.INVALID_ARGUMENT](/android/reference/com/google/mlkit/common/MlKitException#INVALID_ARGUMENT)\nif the custom model file is not compatible with this SDK. \n\n##### Returns\n\n- a [Task](/android/reference/com/google/android/gms/tasks/Task) that asynchronously returns a [List](//developer.android.com/reference/java/util/List.html) of detected [ImageLabel](/android/reference/com/google/mlkit/vision/label/ImageLabel)s. The labels are returned sorted by confidence in descending order. An empty list is returned by the [Task](/android/reference/com/google/android/gms/tasks/Task) if no labels are detected."]]