java.lang.Object | |
↳ | com.google.android.gms.vision.Frame.Builder |
Builder for creating a frame instance. At a minimum, image information must be specified either
through setBitmap(Bitmap)
or setImageData(ByteBuffer, int, int, int)
.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Creates the frame instance.
| |||||||||||
Sets the image data for the frame from a supplied bitmap.
| |||||||||||
Sets the frame ID.
| |||||||||||
Sets the image data from the supplied byte buffer, size, and format.
| |||||||||||
Sets the image rotation, indicating the rotation from the upright orientation.
| |||||||||||
Sets the frame timestamp, in milliseconds.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Creates the frame instance.
Returns | |
---|---|
Frame |
Throws | |
---|---|
IllegalStateException |
if the image data has not been set via setBitmap(Bitmap) or setImageData(ByteBuffer, int, int, int) .
|
Sets the image data for the frame from a supplied bitmap.
While this is a convenient way to specify certain images (e.g., images read from a file),
note that a copy is required to extract pixel information for use in detectors -- this could
mean extra GC overhead. Using setImageData(ByteBuffer, int, int, int)
is the
preferred way to specify image data if you can handle the data in a supported byte format and
reuse the byte buffer, since it does not require a making a copy.
Parameters | |
---|---|
image |
Bitmap
|
Returns | |
---|---|
Frame.Builder |
Sets the frame ID. A frame source such as a live video camera or a video player is expected to assign IDs in monotonically increasing order, to indicate the sequence that the frame appeared relative to other frames.
A Detector.Processor
implementation may rely upon this sequence ID to detect frame
sequence gaps, to compute velocity, etc.
Parameters | |
---|---|
id |
int
|
Returns | |
---|---|
Frame.Builder |
Sets the image data from the supplied byte buffer, size, and format.
Parameters | |
---|---|
data |
ByteBuffer :
contains image byte data according to the associated format. |
width |
int
|
height |
int
|
format |
int :
one of NV16 , NV21 , or YV12 . |
Returns | |
---|---|
Frame.Builder |
Throws | |
---|---|
IllegalArgumentException |
if the supplied data is null, or an invalid image format was supplied. |
Sets the image rotation, indicating the rotation from the upright orientation.
Since the camera may deliver images that are rotated (e.g., if the user holds the device upside down), specifying the rotation with the image indicates how to make the image be upright, if necessary. Some detectors may rely upon rotating the image before attempting detection, whereas others may not. In preserving the original image from the camera along with this value, the detector may choose whether to make this correction (and to assume the associated cost).
However, note that the detector is expected to report detection position coordinates that
are relative to the upright version of the image (whether or not the image was actually
rotated by the detector). The Detector
will always deliver frame metadata to the
Detector.Processor
that indicates the dimensions and orientation of an unrotated,
upright frame.
Parameters | |
---|---|
rotation |
int :
one of ROTATION_0 , ROTATION_90 , ROTATION_180 ,
ROTATION_270 . Has the same meaning as getRotation() .
|
Returns | |
---|---|
Frame.Builder |
Sets the frame timestamp, in milliseconds. A frame source such as a live video camera or a video player is expected to assign timestamps in a way that makes sense for the medium. For example, live video may use the capture time of each frame, whereas a video player may use the elapsed time to the frame within the video. Timestamps should be in monotonically increasing order, to indicate the passage of time.
A Detector.Processor
implementation may rely upon this sequence ID to detect frame
sequence gaps, to compute velocity, etc.
Parameters | |
---|---|
timestampMillis |
long
|
Returns | |
---|---|
Frame.Builder |