Function Differences with tf.image.crop_to_bounding_box

tf.image.crop_to_bounding_box

tf.image.crop_to_bounding_box(
    image,
    offset_height,
    offset_width,
    target_height,
    target_width
)

For more information, see tf.image.crop_to_bounding_box.

mindspore.dataset.vision.Crop

class mindspore.dataset.vision.Crop(
    coordinates,
    size
)

For more information, see mindspore.dataset.vision.Crop.

Differences

TensorFlow: Crop at the specified position of the image. Input parameters are the height and width coordinates of the position and the height and width of the cropped image.

MindSpore: Crop at the specified position of the image. Input parameters are the coordinates of the position and the size of the crop image.

Code Example

# The following implements Crop with MindSpore.
import numpy as np
import mindspore.dataset as ds

image = np.random.random((28, 28, 3))
result = ds.vision.Crop((0, 0), (14, 14))(image)
print(result.shape)
# (14, 14, 3)

# The following implements crop_to_bounding_box with TensorFlow.
import tensorflow as tf

image = tf.random.normal((28, 28, 3))
result = tf.image.crop_to_bounding_box(image, 0, 0, 14, 14)
print(result.shape)
# (14, 14, 3)