AI::MXNet:Image - Read individual image files and perform augmentations.
Read and decode an image to an NDArray. Note: `imread` uses OpenCV. MXNet must have been built with USE_OPENCV=1 for `imdecode` to work. Parameters ---------- $filename : str Name of the image file to be loaded. :$flag : int 0 for grayscale. 1 for colored. :$to_rgb : int 0 for BGR format (OpenCV default). 1 for RGB format (MXNet default). :$out : NDArray Output buffer. Do not specify for automatic allocation. Returns ------- An NDArray containing the image. Example ------- >>> mx->img->imread("flower.jpg"); <NDArray 224x224x3 @cpu(0)> Set `flag` parameter to 0 to get grayscale output >>> mx->img->imdecode("flower.jpg", flag=>0); <NDArray 224x224x1 @cpu(0)> Set `to_rgb` parameter to 0 to get output in OpenCV format (BGR) >>> mx->img->imdecode($str_image, to_rgb=>0); <NDArray 224x224x3 @cpu(0)>
Decode an image from string. Requires OpenCV to work. Parameters ---------- $buf : str, array ref, pdl, ndarray Binary image data. :$flag : int 0 for grayscale. 1 for colored. :$to_rgb : int 0 for BGR format (OpenCV default). 1 for RGB format (MXNet default). :$out : NDArray Output buffer. Do not specify for automatic allocation.
Scale down crop size if it's bigger than the image size.
Parameters: ----------- Shape $src_size Shape $size Returns: -------- ($w, $h)
Resize shorter edge to the size. Parameters: ----------- AI::MXNet::NDArray $src Int $size Int $interp=2 Returns: -------- AI::MXNet::NDArray $resized_image
Crop src at fixed location, and (optionally) resize it to the size. Parameters: ----------- AI::MXNet::NDArray $src Int $x0 Int $y0 Int $w Int $h Maybe[Shape] $size= Int $interp=2 Returns: -------- AI::MXNet::NDArray $cropped_image
Randomly crop src with size. Upsample result if src is smaller than the size. Parameters: ----------- AI::MXNet::NDArray $src Shape $size= Int $interp=2 Returns: -------- ($cropped_image, [$x0, $y0, $new_w, $new_h])
Randomly crop src with size around the center. Upsample result if src is smaller than the size. Parameters: ----------- AI::MXNet::NDArray $src Shape $size= Int $interp=2 Returns: -------- ($cropped_image, [$x0, $y0, $new_w, $new_h])
Normalize src with mean and std. Parameters: ----------- AI::MXNet::NDArray $src Num|AI::MXNet::NDArray $mean Maybe[Num|AI::MXNet::NDArray] $std= Int $interp=2 Returns: -------- AI::MXNet::NDArray $normalized_image
Randomly crop src with size. Randomize area and aspect ratio. Parameters: ----------- AI::MXNet::NDArray $src Shape $size Num $min_area ArrayRef[Int] [$from, $to] # $ratio Maybe[Int] $interp=2 Returns: -------- ($cropped_image, [$x0, $y0, $new_w, $new_h])
Makes "resize shorter edge to size augumenter" closure. Parameters: ----------- Shape $size Int $interp=2 Returns: -------- CodeRef that accepts AI::MXNet::NDArray $src as input and returns [__PACKAGE__->resize_short($src, $size, $interp)]
Makes "random crop augumenter" closure. Parameters: ----------- Shape $size Int $interp=2 Returns: -------- CodeRef that accepts AI::MXNet::NDArray $src as input and returns [(__PACKAGE__->random_crop($src, $size, $interp))[0]]
Makes "random crop augumenter" closure. Parameters: ----------- Shape $size Num $min_area ArrayRef[Num] $ratio Int $interp=2 Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns [(__PACKAGE__->random_size_crop($src, $size, $min_area, $ratio, $interp))[0]]
Makes "center crop augumenter" closure. Parameters: ----------- Shape $size Int $interp=2 Returns: CodeRef that accepts AI::MXNet::NDArray $src as input and returns [(__PACKAGE__->center_crop($src, $size, $interp))[0]]
Makes "Apply list of augmenters in random order" closure. Parameters: ----------- ArrayRef[CodeRef] $ts Returns: -------- CodeRef that accepts AI::MXNet::NDArray $src as input and returns ArrayRef[AI::MXNet::NDArray]
Makes "Apply random brightness, contrast and saturation jitter in random order" closure Parameters: ----------- Num $brightness Num $contrast Num $saturation Returns: -------- CodeRef that accepts AI::MXNet::NDArray $src as input and returns ArrayRef[AI::MXNet::NDArray]
Makes "Add PCA based noise" closure. Parameters: ----------- Num $alphastd PDL $eigval PDL $eigvec Returns: -------- CodeRef that accepts AI::MXNet::NDArray $src as input and returns ArrayRef[AI::MXNet::NDArray]
Makes "Mean and std normalization" closure. Parameters: ----------- PDL $mean PDL $std Returns: -------- CodeRef that accepts AI::MXNet::NDArray $src as input and returns [__PACKAGE__->color_normalize($src, $mean, $std)]
Makes "Random horizontal flipping" closure. Parameters: ----------- Num $p < 1 Returns: -------- CodeRef that accepts AI::MXNet::NDArray $src as input and returns [$p > rand ? AI::MXNet::NDArray->flip($src, axis=1>) : $src]
Makes "Cast to float32" closure. Returns: -------- CodeRef that accepts AI::MXNet::NDArray $src as input and returns [$src->astype('float32')]
Create augumenter list Parameters: ----------- Shape :$data_shape, Bool :$resize=0, Bool :$rand_crop=0, Bool :$rand_resize=0, Bool :$rand_mirror=0, Maybe[Num|PDL] :$mean=, Maybe[Num|PDL] :$std=, Num :$brightness=0, Num :$contrast=0, Num :$saturation=0, Num :$pca_noise=0, Int :$inter_method=2
AI::MXNet::ImageIter - Image data iterator.
Image data iterator with a large number of augumentation choices. Supports reading from both .rec files and raw image files with image list. To load from .rec files, please specify path_imgrec. Also specify path_imgidx to use data partition (for distributed training) or shuffling. To load from raw image files, specify path_imglist and path_root. Parameters ---------- batch_size : Int Number of examples per batch data_shape : Shape Data shape in (channels, height, width). For now, only RGB image with 3 channels is supported. label_width : Int dimension of label path_imgrec : str path to image record file (.rec). Created with tools/im2rec.py or bin/im2rec path_imglist : str path to image list (.lst) Created with tools/im2rec.py or with custom script. Format: index\t[one or more label separated by \t]\trelative_path_from_root imglist: array ref a list of image with the label(s) each item is a list [imagelabel: float or array ref of float, imgpath] path_root : str Root folder of image files path_imgidx : str Path to image index file. Needed for partition and shuffling when using .rec source. shuffle : bool Whether to shuffle all images at the start of each iteration. Can be slow for HDD. part_index : int Partition index num_parts : int Total number of partitions. data_name='data' Str label_name='softmax_label' Str kwargs : hash ref with any additional arguments for augmenters
To install AI::MXNet, copy and paste the appropriate command in to your terminal.
cpanm
cpanm AI::MXNet
CPAN shell
perl -MCPAN -e shell install AI::MXNet
For more information on module installation, please visit the detailed CPAN module installation guide.