📌  相关文章
📜  Tensorflow.js tf.image.resizeNearestNeighbor()函数(1)

📅  最后修改于: 2023-12-03 15:35:17.335000             🧑  作者: Mango

Tensorflow.js tf.image.resizeNearestNeighbor()函数介绍

Tensorflow.js是由Google开发的一个机器学习框架,支持在浏览器和Node.js中进行端到端的ML模型训练和部署。其中,tf.image.resizeNearestNeighbor()函数是在图片上应用最近邻插值算法进行缩放操作的API。

API介绍
tf.image.resizeNearestNeighbor(images, size, alignCorners)
  • images: Rank 4 Tensor,形状为[batch, height, width, channels]的图片tensor。
  • size: 一维 Tensor 或 整数数组, 指定输出图片的大小。
  • alignCorners: bool类型,指定是否将输入图片的左上角对齐到输出图片的左上角。

返回值:输出图片的Tensor, 类型与输入图片相同。

使用示例
1. 缩小图片
// 加载图片
const imgElement = document.getElementById('image');
const img = tf.browser.fromPixels(imgElement);

// 将图片大小调整为(200, 200)
const resizedImg = tf.image.resizeNearestNeighbor(img, [200, 200]);

// 显示调整后的图片
resizedImg.print();
2. 增加批次维度
// 生成一张大小为(480, 640)的黑色图片
const shape = [480, 640, 3];
const image = tf.zeros(shape, 'int32');

// 将图片从Rank 3 Tensor变为Rank 4 Tensor
const batchedImage = image.expandDims(0);

// 将批次大小调整为2
const resizedImgs = tf.image.resizeNearestNeighbor(batchedImage, [2, 300, 300]);

// 显示调整后的tensor形状
resizedImgs.shape // [2, 300, 300, 3]
实用技巧
  1. 在进行缩放操作时,选择最近邻插值算法可以显著提高图片的转换速度。
  2. tf.image.resizeNearestNeighbor()函数返回的tensor类型与输入的tensor类型一致,可以方便地与模型输出的结果进行配合使用。