API - Vision¶
Vision Transforms list¶
|
Convert a |
|
Composes several transforms together. |
|
Crops an image to a specified bounding box. |
|
Crops the given image at the center.If the size is given, image will be cropped as size. |
|
Crop the given image at a random location. |
|
Pad the given image on all sides with the given “pad” value. |
|
Pad image with the specified height and width to target size. |
|
Resize the input image to the given size. |
|
Crop the given image to random size and aspect ratio. |
|
Converts a image from RGB to grayscale. |
Converts a image from HSV to RGB. |
|
Converts a image from RGB to HSV. |
|
|
Adjust brightness of the image. |
|
Adjust contrast of the image. |
|
Adjust hue of the image. |
|
Adjust saturation of the image. |
|
Random adjust brightness of the image. |
|
Random adjust contrast of the image. |
|
Random adjust hue of the image. |
|
Random adjust saturation of the image. |
|
Randomly change the brightness, contrast, saturation and hue of an image. |
Flip an image horizontally. |
|
Flip an image vertically. |
|
|
Horizontally flip the given image randomly with a given probability. |
|
Vertically flip the given image randomly with a given probability. |
|
Rotate the image by angle. |
|
Rotate the image by random angle. |
|
Shift the image by random translations. |
|
Shear the image by random angle. |
|
Zoom the image by random scale. |
|
Random affine transformation of the image keeping center invariant. |
|
Transpose image(s) by swapping dimension. |
Transpose a image shape (H, W, C) to shape (C, H, W). |
|
Transpose a image shape (C, H, W) to shape (H, W, C). |
|
|
Normalize a tensor image with mean and standard deviation. |
For each 3-D image x in image, computes (x - mean) / adjusted_stddev, where mean is the average of all values in x. |
Vision IO list¶
|
Load an image |
|
Save an image |
|
Load images from file |
|
Save images |
Vision Transforms¶
ToTensor¶
-
class
tensorlayerx.vision.transforms.
ToTensor
(data_format='HWC')[source]¶ Convert a
PIL Image
ornumpy.ndarray
to tensor.- Parameters
data_format (str) – Data format of output tensor, should be ‘HWC’ or ‘CHW’. Default: ‘HWC’.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.ToTensor(data_format='HWC') >>> image = transform(image) >>> print(image)
Compose¶
-
class
tensorlayerx.vision.transforms.
Compose
(transforms)[source]¶ Composes several transforms together.
- Parameters
transforms (list of 'transform' objects) – list of transforms to compose.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.Compose([tlx.vision.transforms.ToTensor(data_format='HWC'),tlx.vision.transforms.CentralCrop(size = 100)]) >>> image = transform(image) >>> print(image) >>> image shape : (100, 100, 3)
Crop¶
-
class
tensorlayerx.vision.transforms.
Crop
(top, left, height, width)[source]¶ Crops an image to a specified bounding box.
- Parameters
top (int) – Vertical coordinate of the top-left corner of the bounding box in image.
left (int) – Horizontal coordinate of the top-left corner of the bounding box in image.
height (int) – Height of the bounding box.
width (int) – Width of the bounding box.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.Crop(top=10, left=10, height=100, width=100) >>> image = transform(image) >>> print(image) >>> image shape : (100, 100, 3)
CentralCrop¶
-
class
tensorlayerx.vision.transforms.
CentralCrop
(size=None, central_fraction=None)[source]¶ Crops the given image at the center.If the size is given, image will be cropped as size. If the central_fraction is given, image will cropped as (H * central_fraction, W * fraction). Size has a higher priority.
- Parameters
size (int or sequence of int) –
The output size of the cropped image.
If size is an integer, a square crop of size (size, size) is returned.
If size is a sequence of length 2, it should be (height, width).
central_fraction (float) – float (0, 1], fraction of size to crop
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.CentralCrop(size = (50, 50)) >>> image = transform(image) >>> print(image) >>> image shape : (50, 50, 3)
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.CentralCrop(central_fraction=0.5) >>> image = transform(image) >>> print(image) >>> image shape : (112, 112, 3)
RandomCrop¶
-
class
tensorlayerx.vision.transforms.
RandomCrop
(size, padding=None, pad_if_needed=False, fill=0, padding_mode='constant')[source]¶ Crop the given image at a random location.
- Parameters
size (int or sequence) –
Desired output size of the crop.
If size is an int instead of sequence like (h, w), a square crop (size, size) is made.
If provided a sequence of length 1, it will be interpreted as (size[0], size[0]).
padding (int or sequence, optional) –
Optional padding on each border of the image.
If a single int is provided this is used to pad all borders.
If sequence of length 2 is provided this is the padding on left/right and top/bottom respectively.
If a sequence of length 4 is provided, it is used to pad left, top, right, bottom borders respectively.
Default: 0.
pad_if_needed (boolean) – It will pad the image if smaller than the desired size to avoid raising an exception. Since cropping is done after padding, the padding seems to be done at a random offset.
fill (number or sequence) – Pixel fill value for constant fill. Default is 0. If a tuple of length 3, it is used to fill R, G, B channels respectively.
padding_mode (str) – Type of padding. Default is “constant”.”constant”, “reflect”, “symmetric” are supported.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomCrop(size=50, padding=10, pad_if_needed=False, fill=0, padding_mode='constant') >>> image = transform(image) >>> print(image) >>> image shape : (70,70,3)
Pad¶
-
class
tensorlayerx.vision.transforms.
Pad
(padding, padding_value=0, mode='constant')[source]¶ Pad the given image on all sides with the given “pad” value.
- Parameters
padding (int or sequenece) –
Padding on each border.
If a single int is provided, this is used to pad all borders.
If sequence of length 2 is provided, this is the padding on left/right and top/bottom respectively.
If a sequence of length 4 is provided, this is the padding for the left, top, right and bottom borders respectively.
padding_value (number or sequenece) – Pixel fill value for constant fill. Default is 0. If a tuple or list of length 3, it is used to fill R, G, B channels respectively. tuple and list only is supported for PIL Image. This value is only used when the mode is constant.
mode (str) – Type of padding. Default is “constant”.”constant”, “reflect”, “symmetric” , “edge” are supported.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.Pad(padding=10, padding_value=0, mode='constant') >>> image = transform(image) >>> print(image) >>> image shape : (244, 244, 3)
PadToBoundingbox¶
-
class
tensorlayerx.vision.transforms.
PadToBoundingbox
(top, left, height, width, padding_value=0)[source]¶ Pad image with the specified height and width to target size.
- Parameters
top (int) – Number of rows to add on top.
left (int) – Number of columns to add on the left.
height (int) – Height of output image.
width (int) – Width of output image.
padding_value (int or sequence) – value to pad.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand( 224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.PadToBoundingbox(top=10, left=10, height=300, width=300, padding_value=0) >>> image = transform(image) >>> print(image) >>> image shape : (300, 300, 3)
Resize¶
-
class
tensorlayerx.vision.transforms.
Resize
(size, interpolation='bilinear')[source]¶ Resize the input image to the given size.
- Parameters
size (int or sequenece) –
Desired output size.
If size is a sequence like (h, w), output size will be matched to this.
If size is an int, smaller edge of the image will be matched to this number.
i.e, if height > width, then image will be rescaled to (size * height / width, size).
interpolation (str) – Interpolation method. Default: ‘bilinear’. ‘nearest’, ‘bilinear’, ‘bicubic’, ‘area’ and ‘lanczos’ are supported.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.Resize(size = (100,100), interpolation='bilinear') >>> image = transform(image) >>> print(image) >>> image shape : (100, 100, 3)
RandomResizedCrop¶
-
class
tensorlayerx.vision.transforms.
RandomResizedCrop
(size, scale=(0.08, 1.0), ratio=(0.75, 1.3333333333333333), interpolation='bilinear')[source]¶ Crop the given image to random size and aspect ratio.
- Parameters
size (int or sequence) –
Desired output size of the crop.
If size is an int instead of sequence like (h, w), a square crop (size, size) is made.
If provided a sequence of length 1, it will be interpreted as (size[0], size[0]).
scale (tuple of float) – scale range of the cropped image before resizing, relatively to the origin image.
ratio (tuple of float) – aspect ratio range of the cropped image before resizing.
interpolation (str) – Type of interpolation. Default is “bilinear”.”nearest”,”bilinear” and “bicubic” are supported.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomResizedCrop(size = (100, 100), scale = (0.08, 1.0), ratio = (3./4.,4./3.), interpolation = 'bilinear') >>> image = transform(image) >>> print(image) >>> image shape : (100,100,3)
RgbToGray¶
-
class
tensorlayerx.vision.transforms.
RgbToGray
(num_output_channels=1)[source]¶ Converts a image from RGB to grayscale.
- Parameters
num_output_channels (int) – (1 or 3) number of channels desired for output image. Default is 1.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RgbToGray(num_output_channels=1) >>> image = transform(image) >>> print(image) >>> image shape : (224, 224, 1)
HsvToRgb¶
-
class
tensorlayerx.vision.transforms.
HsvToRgb
[source]¶ Converts a image from HSV to RGB.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.HsvToRgb() >>> image = transform(image) >>> print(image) >>> image shape : (224, 224, 3)
RgbToHsv¶
-
class
tensorlayerx.vision.transforms.
RgbToHsv
[source]¶ Converts a image from RGB to HSV.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RgbToHsv() >>> image = transform(image) >>> print(image) >>> image shape : (224, 224, 3)
AdjustBrightness¶
-
class
tensorlayerx.vision.transforms.
AdjustBrightness
(brightness_factor=1)[source]¶ Adjust brightness of the image.
- Parameters
brightness_factor (float) – How much to adjust the brightness. Can be any non negative number. 1 gives the original image. Default is 1.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.AdjustBrightness(brightness_factor=1) >>> image = transform(image) >>> print(image)
AdjustContrast¶
-
class
tensorlayerx.vision.transforms.
AdjustContrast
(contrast_factor=1)[source]¶ Adjust contrast of the image.
- Parameters
contrast_factor (float) – How much to adjust the contrast. Can be any non negative number. 1 gives the original image. Default is 1.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.AdjustContrast(contrast_factor=1) >>> image = transform(image) >>> print(image)
AdjustHue¶
-
class
tensorlayerx.vision.transforms.
AdjustHue
(hue_factor=0)[source]¶ Adjust hue of the image.
- Parameters
hue_factor (float) – How much to shift the hue channel. Should be in [-0.5, 0.5]. 0.5 and -0.5 give complete reversal of hue channel in HSV space in positive and negative direction respectively. 0 means no shift. Therefore, both -0.5 and 0.5 will give an image with complementary colors while 0 gives the original image. Default is 0.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.AdjustHue(hue_factor=0) >>> image = transform(image) >>> print(image)
AdjustSaturation¶
-
class
tensorlayerx.vision.transforms.
AdjustSaturation
(saturation_factor=1)[source]¶ Adjust saturation of the image.
- Parameters
saturation_factor (float) – How much to adjust the saturation. Can be any non negative number. 1 gives the original image. Default is 1.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.AdjustSaturation(saturation_factor=1) >>> image = transform(image) >>> print(image)
RandomBrightness¶
-
class
tensorlayerx.vision.transforms.
RandomBrightness
(brightness_factor=(1, 1))[source]¶ Random adjust brightness of the image.
- Parameters
brightness_factor (float or sequence) –
Brightness adjustment factor (default=(1, 1)).
If it is a float, the factor is uniformly chosen from the range [max(0, 1-brightness_factor), 1+brightness_factor].
If it is a sequence, it should be [min, max] for the range.Should be non negative numbers.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomBrightness(brightness_factor=(0.5, 2)) >>> image = transform(image) >>> print(image)
RandomContrast¶
-
class
tensorlayerx.vision.transforms.
RandomContrast
(contrast_factor=(1, 1))[source]¶ Random adjust contrast of the image.
- Parameters
contrast_factor (float or sequence) –
Contrast adjustment factor (default=(1, 1)).
If it is a float, the factor is uniformly chosen from the range [max(0, 1-contrast_factor), 1+contrast_factor].
If it is a sequence, it should be [min, max] for the range.Should be non negative numbers.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomContrast(contrast_factor=(0.5, 2)) >>> image = transform(image) >>> print(image)
RandomHue¶
-
class
tensorlayerx.vision.transforms.
RandomHue
(hue_factor=(0, 0))[source]¶ Random adjust hue of the image.
- Parameters
hue_factor (float or sequence) –
Hue adjustment factor (default=(0, 0)).
If it is a float, the factor is uniformly chosen from the range [-hue_factor, hue_factor].
If it is a sequence, it should be [min, max] for the range.Should have 0<= hue <= 0.5 or -0.5 <= min <= max <= 0.5.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomHue(hue_factor=(-0.5, 0.5)) >>> image = transform(image) >>> print(image)
RandomSaturation¶
-
class
tensorlayerx.vision.transforms.
RandomSaturation
(saturation_factor=(1, 1))[source]¶ Random adjust saturation of the image.
- Parameters
saturation_factor (float or sequence) –
Saturation adjustment factor (default=(1, 1)).
If it is a float, the factor is uniformly chosen from the range [max(0, 1-saturation_factor), 1+saturation_factor].
If it is a sequence, it should be [min, max] for the range.Should be non negative numbers.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomSaturation(saturation_factor=(0.5, 2)) >>> image = transform(image) >>> print(image)
ColorJitter¶
-
class
tensorlayerx.vision.transforms.
ColorJitter
(brightness=0, contrast=0, saturation=0, hue=0)[source]¶ Randomly change the brightness, contrast, saturation and hue of an image.
- Parameters
brightness (float or sequence) –
Brightness adjustment factor (default=(1, 1)).
If it is a float, the factor is uniformly chosen from the range [max(0, 1-brightness_factor), 1+brightness_factor].
If it is a sequence, it should be [min, max] for the range.Should be non negative numbers.
contrast (float or sequence) –
Contrast adjustment factor (default=(1, 1)).
If it is a float, the factor is uniformly chosen from the range [max(0, 1-contrast_factor), 1+contrast_factor].
If it is a sequence, it should be [min, max] for the range.Should be non negative numbers.
saturation (float or sequence) –
Saturation adjustment factor (default=(1, 1)).
If it is a float, the factor is uniformly chosen from the range [max(0, 1-saturation_factor), 1+saturation_factor].
If it is a sequence, it should be [min, max] for the range.Should be non negative numbers.
hue (float or sequence) –
Hue adjustment factor (default=(0, 0)).
If it is a float, the factor is uniformly chosen from the range [-hue_factor, hue_factor].
If it is a sequence, it should be [min, max] for the range.Should have 0<= hue <= 0.5 or -0.5 <= min <= max <= 0.5.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.ColorJitter(brightness=(1,5), contrast=(1,5), saturation=(1,5), hue=(-0.2,0.2)) >>> image = transform(image) >>> print(image)
FlipHorizontal¶
-
class
tensorlayerx.vision.transforms.
FlipHorizontal
[source]¶ Flip an image horizontally.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.FlipHorizontal() >>> image = transform(image) >>> print(image)
FlipVertical¶
-
class
tensorlayerx.vision.transforms.
FlipVertical
[source]¶ Flip an image vertically.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.FlipVertical() >>> image = transform(image) >>> print(image)
RandomFlipHorizontal¶
-
class
tensorlayerx.vision.transforms.
RandomFlipHorizontal
(prob=0.5)[source]¶ Horizontally flip the given image randomly with a given probability.
- Parameters
prob (float) – probability of the image being flipped. Default value is 0.5
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomFlipHorizontal(prob = 0.5) >>> image = transform(image) >>> print(image)
RandomFlipVertical¶
-
class
tensorlayerx.vision.transforms.
RandomFlipVertical
(prob=0.5)[source]¶ Vertically flip the given image randomly with a given probability.
- Parameters
prob (float) – probability of the image being flipped. Default value is 0.5
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomFlipVertical(prob = 0.5) >>> image = transform(image) >>> print(image)
Rotation¶
-
class
tensorlayerx.vision.transforms.
Rotation
(angle=0, interpolation='bilinear', expand=False, center=None, fill=0)[source]¶ Rotate the image by angle.
- Parameters
degrees (number) – degrees to rotate.
interpolation (str) – Interpolation method. Default is ‘bilinear’. ‘nearest’,’bilinear’ are supported.
expand (boolean) –
If true, expands the output to make it large enough to hold the entire rotated image.
If false or omitted, make the output image the same size as the input image.
Note that the expand flag assumes rotation around the center and no translation.
center (sequence or None) – Optional center of rotation, (x, y). Origin is the upper left corner. Default is the center of the image.
fill (number or sequence) – Pixel fill value for the area outside the rotated image. Default is 0.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.Rotation(angle = 0, interpolation = 'bilinear', expand = False, center = None, fill = 0) >>> image = transform(image) >>> print(image)
RandomRotation¶
-
class
tensorlayerx.vision.transforms.
RandomRotation
(degrees, interpolation='bilinear', expand=False, center=None, fill=0)[source]¶ Rotate the image by random angle.
- Parameters
degrees (number or sequnence) –
Range of degrees to select from.
If degrees is a number, the range of degrees will be (-degrees, +degrees).
If degrees is a sequence, the range of degrees will (degrees[0], degrees[1]).
interpolation (str) – Interpolation method. Default is ‘bilinear’. ‘nearest’,’bilinear’ are supported.
expand (boolean) –
If true, expands the output to make it large enough to hold the entire rotated image.
If false or omitted, make the output image the same size as the input image.
Note that the expand flag assumes rotation around the center and no translation.
center (sequence or None) – Optional center of rotation, (x, y). Origin is the upper left corner. Default is the center of the image.
fill (number or sequence) – Pixel fill value for the area outside the rotated image. Default is 0.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomRotation(degrees=30, interpolation='bilinear', expand=False, center=None, fill=0) >>> image = transform(image) >>> print(image)
RandomShift¶
-
class
tensorlayerx.vision.transforms.
RandomShift
(shift, interpolation='bilinear', fill=0)[source]¶ Shift the image by random translations.
- Parameters
shift (list or tuple) – Maximum absolute fraction for horizontal and vertical translations. shift=(a, b), then horizontal shift is randomly sampled in the range -img_width * a < dx < img_width * a. vertical shift is randomly sampled in the range -img_height * b < dy < img_height * b.
interpolation (str) – Interpolation method. Default is ‘bilinear’. ‘nearest’,’bilinear’ are supported.
fill (number or sequence) – Pixel fill value for the area outside the sheared image. Default is 0.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomShift(shift=(0.2, 0.2), interpolation='bilinear', fill=0) >>> image = transform(image) >>> print(image)
RandomShear¶
-
class
tensorlayerx.vision.transforms.
RandomShear
(shear, interpolation='bilinear', fill=0)[source]¶ Shear the image by random angle.
- Parameters
shear (number or sequnence) –
Range of degrees to select from.
If shear is a number, a shear parallel to the x axis in the range (-shear, +shear) will be applied.
If shear is a sequence of 2 values a shear parallel to the x axis in the range (shear[0], shear[1]) will be applied.
If shear is a sequence of 4 values, a x-axis shear in (shear[0], shear[1]) and y-axis shear in (shear[2], shear[3]) will be applied.
interpolation (str) – Interpolation method. Default is ‘bilinear’.’nearest’,’bilinear’ are supported.
fill (number or sequence) – Pixel fill value for the area outside the sheared image. Default is 0.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomShear(shear=30, interpolation='bilinear', fill=0) >>> image = transform(image) >>> print(image)
RandomZoom¶
-
class
tensorlayerx.vision.transforms.
RandomZoom
(zoom, interpolation='bilinear', fill=0)[source]¶ Zoom the image by random scale.
- Parameters
zoom (list or tuple) – Scaling factor interval, e.g (a, b), then scale is randomly sampled from the range a <= scale <= b.
interpolation (str) – Interpolation method. Default is ‘bilinear’. ‘nearest’,’bilinear’ are supported.
fill (number or sequence) – Pixel fill value for the area outside the sheared image. Default is 0.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomZoom(zoom=(0.2, 0.5), interpolation='bilinear', fill=0) >>> image = transform(image) >>> print(image)
RandomAffine¶
-
class
tensorlayerx.vision.transforms.
RandomAffine
(degrees, shift=None, zoom=None, shear=None, interpolation='bilinear', fill=0)[source]¶ Random affine transformation of the image keeping center invariant.
- Parameters
degrees (number or sequnence) –
Range of degrees to select from.
If degrees is a number, the range of degrees will be (-degrees, +degrees).
If degrees is a sequence, the range of degrees will (degrees[0], degrees[1]).
Set to 0 to deactivate rotations.
shift (sequence or None) –
Maximum absolute fraction for horizontal and vertical translations.
shift=(a, b), then horizontal shift is randomly sampled in the range -img_width * a < dx < img_width * a.
vertical shift is randomly sampled in the range -img_height * b < dy < img_height * b.
Will not shift by default.
shear (number or sequnence or None) –
Range of degrees to select from.
If degrees is a number, a shear parallel to the x axis in the range (-shear, +shear) will be applied.
If shear is a sequence of 2 values a shear parallel to the x axis in the range (shear[0], shear[1]) will be applied.
If shear is a sequence of 4 values, a x-axis shear in (shear[0], shear[1]) and y-axis shear in (shear[2], shear[3]) will be applied.
Will not apply shear by default.
zoom (sequence or None) – Scaling factor interval, e.g (a, b), then scale is randomly sampled from the range a <= scale <= b. Will not zoom by default.
interpolation (str) – Interpolation method. Default is ‘bilinear’. ‘nearest’,’bilinear’ are supported.
fill (number or sequence) – Pixel fill value for the area outside the sheared image. Default is 0.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.RandomAffine(degrees=30, shift=(0.2,0.2), zoom=(0.2, 0.5), shear=30, interpolation='bilinear', fill=0) >>> image = transform(image) >>> print(image)
Transpose¶
-
class
tensorlayerx.vision.transforms.
Transpose
(order)[source]¶ Transpose image(s) by swapping dimension.
- Parameters
order (sequenece of int) – Desired output dimension order.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.Transpose(order=(2, 0 ,1)) >>> image = transform(image) >>> print(image) >>> image shape : (3, 224, 224)
HWC2CHW¶
-
class
tensorlayerx.vision.transforms.
HWC2CHW
[source]¶ Transpose a image shape (H, W, C) to shape (C, H, W).
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.HWC2CHW() >>> image = transform(image) >>> print(image) >>> image shape : (3, 224, 224)
CHW2HWC¶
-
class
tensorlayerx.vision.transforms.
CHW2HWC
[source]¶ Transpose a image shape (C, H, W) to shape (H, W, C).
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand(3, 224, 224) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.CHW2HWC() >>> image = transform(image) >>> print(image) >>> image shape : (224, 224, 3)
Normalize¶
-
class
tensorlayerx.vision.transforms.
Normalize
(mean, std, data_format='HWC')[source]¶ Normalize a tensor image with mean and standard deviation.
- Parameters
mean (number or sequence) – If mean is a number, mean will be applied for all channels. Sequence of means for each channel.
std (number or sequnece) – If std is a number, std will be applied for all channels.Sequence of standard deviations for each channel.
data_format (str) – Data format of input image, should be ‘HWC’ or ‘CHW’. Default: ‘HWC’.
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand( 224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.Normalize(mean = (155.0, 155.0, 155.0), std = (75.0, 75.0, 75.0),data_format='HWC') >>> image = transform(image) >>> print(image)
StandardizePerImage¶
-
class
tensorlayerx.vision.transforms.
StandardizePerImage
[source]¶ For each 3-D image x in image, computes (x - mean) / adjusted_stddev, where mean is the average of all values in x. adjusted_stddev = max(stddev, 1.0/sqrt(N)) is capped away from 0 to protect against division by 0 when handling uniform images. N is the number of elements in x. stddev is the standard deviation of all values in x
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> image = (np.random.rand( 224, 224, 3) * 255.).astype(np.uint8) >>> transform = tlx.vision.transforms.StandardizePerImage() >>> image = transform(image) >>> print(image)
Vision IO¶
load_image¶
-
class
tensorlayerx.vision.utils.
load_image
[source]¶ Load an image
- Parameters
path (str) – path of the image.
Returns (numpy.ndarray) –
------- – a numpy RGB image
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> path = './data/1.png' >>> image = tlx.vision.load_image(path) >>> print(image)
save_image¶
-
class
tensorlayerx.vision.utils.
save_image
[source]¶ Save an image
- Parameters
image (numpy.ndarray) – The image to save
file_name (str) – image name to save
path (str) – path to save image
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> load_path = './data/1.png' >>> save_path = './test/' >>> image = tlx.vision.load_image(path) >>> tlx.vision.save_image(image, file_name='1.png',path=save_path)
load_images¶
-
class
tensorlayerx.vision.utils.
load_images
[source]¶ Load images from file
- Parameters
path (str) – path of the images.
n_threads (int) – The number of threads to read image.
Returns (list) –
------- – a list of numpy RGB images
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> load_path = './data/' >>> image = tlx.vision.load_images(path)
save_image¶
-
class
tensorlayerx.vision.utils.
save_images
[source]¶ Save images
- Parameters
images (list) – a list of numpy RGB images
file_names (list) – a list of image names to save
path (str) – path to save images
Examples
With TensorLayerX
>>> import tensorlayerx as tlx >>> load_path = './data/' >>> save_path = './test/' >>> images = tlx.vision.load_images(path) >>> name_list = user_define >>> tlx.vision.save_images(images, file_names=name_list,path=save_path)