Wraps image data for on-device machine learning (ODML) usages.
MlImage is
designed to be an immutable image container, which could be shared cross-platforms, among
different Google ODML frameworks(TFLite Support, MLKit).
It is a common abstraction image that could help to chain different frameworks that adapts
MlImage
together.
To construct an MlImage, use the
provided builders:
MlImage uses
reference counting to maintain internal storage. When it is created the reference count is 1.
Developer can call close() to
reduce reference count to release internal storage earlier, otherwise Java garbage collection
will release the storage eventually.
To extract concrete image, first check MlImage.StorageType
and then use the provided extractors:
MlImage will
support internal conversion(e.g. Bitmap -> ByteBuffer) and multiple storages.
| @interface | MlImage.ImageFormat | Specifies the image format of an image. | |
| class | MlImage.Internal | Advanced API access for MlImage. |
|
| @interface | MlImage.StorageType | Specifies the image container type. | |
| int | IMAGE_FORMAT_ALPHA | |
| int | IMAGE_FORMAT_JPEG | |
| int | IMAGE_FORMAT_NV12 | |
| int | IMAGE_FORMAT_NV21 | |
| int | IMAGE_FORMAT_RGB | |
| int | IMAGE_FORMAT_RGBA | |
| int | IMAGE_FORMAT_UNKNOWN | |
| int | IMAGE_FORMAT_YUV_420_888 | |
| int | IMAGE_FORMAT_YV12 | |
| int | IMAGE_FORMAT_YV21 | |
| int | STORAGE_TYPE_BITMAP | |
| int | STORAGE_TYPE_BYTEBUFFER | |
| int | STORAGE_TYPE_MEDIA_IMAGE |
| synchronized void |
close()
Removes a reference that was previously acquired or init.
|
| List<ImageProperties> |
getContainedImageProperties()
Returns a list of supported image properties for this
MlImage.
|
| int |
getHeight()
Returns the height of the image.
|
| MlImage.Internal |
getInternal()
Gets
MlImage.Internal
object which contains internal APIs.
|
| int |
getRotation()
Returns the rotation value attached to the image.
|
| int |
getWidth()
Returns the width of the image.
|
Removes a reference that was previously acquired or init.
When MlImage is
created, it has 1 reference count.
When the reference count becomes 0, it will release the resource under the hood.
Returns the height of the image.
Gets MlImage.Internal
object which contains internal APIs.
Returns the rotation value attached to the image. Rotation value will be 0, 90, 180, 270.
Returns the width of the image.