比较与tf.image.pad_to_bounding_box的功能差异

tf.image.pad_to_bounding_box

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

更多内容详见tf.image.pad_to_bounding_box

mindspore.dataset.vision.Pad

class mindspore.dataset.vision.Pad(
    padding,
    fill_value=0,
    padding_mode=Border.CONSTANT
)

更多内容详见mindspore.dataset.vision.Pad

使用方式

TensorFlow:对图像各边进行填充,入参为上、左边框像素填充数和预期输出图像高、宽,像素填充值为零。

MindSpore:对图像各边进行填充,入参为各边像素填充数、填充值和填充模式。

代码示例

# The following implements Pad with MindSpore.
import numpy as np
import mindspore.dataset as ds
from mindspore.dataset.vision import Border

image = np.random.random((28, 28, 3))
result = ds.vision.Pad((2, 2, 5, 5), 0, Border.CONSTANT)(image)
print(result.shape)
# (35, 35, 3)

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

image = tf.random.normal((28, 28, 3))
result = tf.image.pad_to_bounding_box(image, 2, 2, 35, 35)
print(result.shape)
# (35, 35, 3)