ObjectDetector
Stay organized with collections
Save and categorize content based on your preferences.
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.
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.
[null,null,["Last updated 2024-10-31 UTC."],[[["\u003cp\u003e\u003ccode\u003eObjectDetector\u003c/code\u003e is used to find \u003ccode\u003eDetectedObject\u003c/code\u003es within images in Android apps.\u003c/p\u003e\n"],["\u003cp\u003eYou create an \u003ccode\u003eObjectDetector\u003c/code\u003e instance using \u003ccode\u003eObjectDetection.getClient(ObjectDetectorOptionsBase)\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eObject detection is performed by passing an \u003ccode\u003eInputImage\u003c/code\u003e or \u003ccode\u003eMlImage\u003c/code\u003e to the \u003ccode\u003eprocess()\u003c/code\u003e method of the detector.\u003c/p\u003e\n"],["\u003cp\u003eAfter processing, a \u003ccode\u003eTask\u003c/code\u003e is returned that provides a list of \u003ccode\u003eDetectedObject\u003c/code\u003es, or an empty list if no objects are found.\u003c/p\u003e\n"],["\u003cp\u003eWhen finished using the detector, release its resources by calling the \u003ccode\u003eclose()\u003c/code\u003e method.\u003c/p\u003e\n"]]],[],null,["# ObjectDetector\n\npublic interface **ObjectDetector** extends [Detector](/android/reference/com/google/mlkit/vision/interfaces/Detector)\\\u003c[List](//developer.android.com/reference/java/util/List.html)\\\u003c[DetectedObject](/android/reference/com/google/mlkit/vision/objects/DetectedObject)\\\u003e\\\u003e \nAn [ObjectDetection](/android/reference/com/google/mlkit/vision/objects/ObjectDetection)\nclient for finding [DetectedObject](/android/reference/com/google/mlkit/vision/objects/DetectedObject)s\nin a supplied image.\n\nAn [ObjectDetector](/android/reference/com/google/mlkit/vision/objects/ObjectDetector)\nis created via [ObjectDetection.getClient(ObjectDetectorOptionsBase)](/android/reference/com/google/mlkit/vision/objects/ObjectDetection#getClient(com.google.mlkit.vision.objects.ObjectDetectorOptionsBase)).\n\nExample: \n\n ObjectDetector objectDetector = ObjectDetection.getClient(options);\n \nTo perform object 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 objects in the supplied [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage). \n\n Task\u003cList\u003cDetectedObject\u003e\u003e task = objectDetector.process(image);\n task.addOnSuccessListener(...).addOnFailureListener(...);\n \n### Public Method Summary\n\n|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract void | [close](/android/reference/com/google/mlkit/vision/objects/ObjectDetector#close())() Closes the detector and releases its resources. |\n| abstract Task\\\u003c[List](//developer.android.com/reference/java/util/List.html)\\\u003c[DetectedObject](/android/reference/com/google/mlkit/vision/objects/DetectedObject)\\\u003e\\\u003e | [process](/android/reference/com/google/mlkit/vision/objects/ObjectDetector#process(com.google.android.odml.image.MlImage))([MlImage](/android/reference/com/google/android/odml/image/MlImage) image) Detects objects from a supplied image. |\n| abstract Task\\\u003c[List](//developer.android.com/reference/java/util/List.html)\\\u003c[DetectedObject](/android/reference/com/google/mlkit/vision/objects/DetectedObject)\\\u003e\\\u003e | [process](/android/reference/com/google/mlkit/vision/objects/ObjectDetector#process(com.google.mlkit.vision.common.InputImage))([InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) image) Detects objects 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[DetectedObject](/android/reference/com/google/mlkit/vision/objects/DetectedObject)\\\u003e\\\u003e\n**process** ([MlImage](/android/reference/com/google/android/odml/image/MlImage) image)\n\nDetects objects from a supplied image.\n\nThis is an experimental API in beta version.\n\nCreate an [MlImage](/android/reference/com/google/android/odml/image/MlImage)\nobject using one 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\nNote that the width and height of the provided image cannot be less than 32.\n\nWhen calling this method on an [ObjectDetector](/android/reference/com/google/mlkit/vision/objects/ObjectDetector)\ncreated with [CustomObjectDetectorOptions](/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions), the returned [Task](/android/reference/com/google/android/gms/tasks/Task) will\ncontain an [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 [DetectedObject](/android/reference/com/google/mlkit/vision/objects/DetectedObject)s. An empty list is returned by the [Task](/android/reference/com/google/android/gms/tasks/Task) if no object is detected. \n\n#### public abstract Task\\\u003c[List](//developer.android.com/reference/java/util/List.html)\\\u003c[DetectedObject](/android/reference/com/google/mlkit/vision/objects/DetectedObject)\\\u003e\\\u003e\n**process** ([InputImage](/android/reference/com/google/mlkit/vision/common/InputImage) image)\n\nDetects objects from a supplied image.\n\nCreate an [InputImage](/android/reference/com/google/mlkit/vision/common/InputImage)\nobject using one 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\nNote that the width and height of the provided image cannot be less than 32.\n\nWhen calling this method on an [ObjectDetector](/android/reference/com/google/mlkit/vision/objects/ObjectDetector)\ncreated with [CustomObjectDetectorOptions](/android/reference/com/google/mlkit/vision/objects/custom/CustomObjectDetectorOptions), the returned [Task](/android/reference/com/google/android/gms/tasks/Task) will\ncontain an [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 [DetectedObject](/android/reference/com/google/mlkit/vision/objects/DetectedObject)s. An empty list is returned by the [Task](/android/reference/com/google/android/gms/tasks/Task) if no object is detected."]]