read - Read data from augmentedImageDatastore - MATLAB (original) (raw)
Main Content
Read data from augmentedImageDatastore
Syntax
Description
[data](#d126e218524) = read([auimds](#d126e218492))
returns a batch of data from an augmented image datastore,auimds
. Subsequent calls to the read
function continue reading from the endpoint of the previous call.
[[data](#d126e218524),[info](#d126e218568)] = read([auimds](#d126e218492))
also returns information about the extracted data, including metadata, ininfo
.
Examples
Load the sample data, which consists of synthetic images of handwritten digits. XTrain
is a 28-by-28-by-1-by-5000 array, where:
- 28 is the height and width of the images.
- 1 is the number of channels.
- 5000 is the number of synthetic images of handwritten digits.
labelsTrain
is a categorical vector containing the labels for each observation.
Create an imageDataAugmenter
object that specifies preprocessing options for image augmentation, such as resizing, rotation, translation, and reflection. Randomly translate the images up to three pixels horizontally and vertically, and rotate the images with an angle up to 20 degrees.
imageAugmenter = imageDataAugmenter( ... RandRotation=[-20,20], ... RandXTranslation=[-3 3], ... RandYTranslation=[-3 3]);
Create an augmentedImageDatastore
using the image data augmented. When you read from the datastore, for example during network training using the trainnet
function, the datastore performs image augmentation and resizes the images. The datastore augments the images without saving any images to memory.
imageSize = [64 64 1]; augimds = augmentedImageDatastore(imageSize,XTrain,labelsTrain,DataAugmentation=imageAugmenter);
Read from the datastore.
minibatch = read(augimds)
minibatch=128×2 table input response ______________ ________
{64×64 single} 3
{64×64 single} 3
{64×64 single} 7
{64×64 single} 7
{64×64 single} 7
{64×64 single} 7
{64×64 single} 9
{64×64 single} 9
{64×64 single} 7
{64×64 single} 7
{64×64 single} 3
{64×64 single} 9
{64×64 single} 9
{64×64 single} 7
{64×64 single} 3
{64×64 single} 7
⋮
Show the first nine augmented images.
imshow(imtile(minibatch.input(1:9)));
Input Arguments
Output Arguments
Output data, returned as a table. When the datastoreauimds reads a full batch of data, the table hasMiniBatchSize
rows. For the last batch of data in the datastore, if numObservations
is not cleanly divisible byMiniBatchSize
, then read
returns a partial batch containing all of the remaining observations.
The first column of the table, "input"
, returns the data for each image. The table has a second column,"response"
, when auimds
reads data of these types:
- Image files containing labeled image data, when the file names are specified by an image datastore
- A numeric array containing categorical labels or numeric responses
- A table that includes one or more responses
Information about read data, returned as a structure array. The structure array can contain these fields.
Field Name | Description |
---|---|
Filename | Cell array of character vectors. Each element is a fully resolved path containing the path string, name of the file, and file extension for the corresponding image. This field is present whenauimds reads data from files specified by an image datastore. |
FileSize | Numeric vector. Each element is the total file size, in bytes, of the corresponding image. For MAT-files, FileSize is the total number of key-value pairs in the file. This field is present when auimds reads data from files specified by an image datastore. |
Label | Categorical vector. Each element is the category label of the corresponding image. This field is present when auimds reads labeled data from files specified by an image datastore. |
MiniBatchIndices | Numeric vector. Each element is the index of the input image in the array. This field is present when auimds reads data from numeric arrays. |
Version History
Introduced in R2018a