Función Tensorflow.js tf.image.transform()

Tensorflow.js es una biblioteca de código abierto desarrollada por Google para ejecutar modelos de aprendizaje automático, así como redes neuronales de aprendizaje profundo en el entorno del navegador o del Node.

La función .image.transform() se usa para aplicar la(s) transformación(es) especificada(s) a la(s) imagen(es).

Sintaxis:

tf.image.transform(image, transforms, interpolation?, fillMode?, 
fillValue?, outputShape?)

Parámetros: Este método acepta los siguientes parámetros:

  • imágenes: el tensor 4d indicado, que es de configuración [lote, altura de imagen, ancho de imagen, profundidad]. Puede ser de tipo tf.Tensor4D, TypedArray o Array.
  • transforms: La array o arrays de transformadas proyectivas indicadas. Es un tensor 1d de rango 8 o bien un tensor de dimensión N x 8. En caso de que una sola fila de transformaciones sea [a0, a1, a2, b0 b1, b2, c0, c1], posteriormente traza el punto de salida, es decir (x, y) en un punto de entrada modificado, es decir (x’, y’) = ((a0 x + a1 y + a2) / k, (b0 x + b1 y + b2) / k), donde k = c0 x + c1 y + 1. Además, las transformaciones se invierten en comparación con la transformación que traza los puntos de entrada a los puntos de salida.
  • interpolación: Es el modo de interpolación indicado. Puede ser del tipo ‘más cercano’ o ‘bilineal’. Es opcional y el valor predeterminado es ‘más cercano’.
  • fillMode: aquí, los puntos establecidos más allá de los márgenes de la entrada se rellenan de acuerdo con el modo establecido. El modo es opcional y puede ser del tipo ‘constante’, ‘reflejar’, ‘envolver’ o ‘más cercano’. El valor por defecto es ‘constante’. En el modo ‘ reflejar ‘, es decir (dcba | abcd | dcba), la entrada se alarga meditando alrededor del borde del píxel máximo. En el modo ‘ constante ‘, es decir (kkkk | abcd | kkkk), la entrada se alarga rellenando todos los valores más allá del borde junto con el mismo valor constante k. En el modo ‘ envolver ‘, es decir (abcd | abcd | abcd), la entrada se alarga encerrando el borde opuesto. en ‘ más cercano‘modo es decir (aaaa | abcd | dddd), la entrada se alarga por el píxel más cercano.
  • fillValue: es un flotante que representa el valor que se va a llenar más allá de los bordes, si el fillMode indicado es ‘ constante ‘. Es opcional y es de tipo número.
  • outputShape: Es opcional y es de tipo [número, número].

Valor devuelto: Devuelve el objeto tf.Tensor4D.

Ejemplo 1: Usar un tensor 4d y un tensor 2d, es decir, transforma.

Javascript

// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs")
  
// Calling image.transform() method and
// Printing output
tf.image.transform(tf.tensor4d([[
  
  [[4, 7], [21, 9]],
  
  [[8, 9], [1, 33]]
  
]]), tf.tensor2d([1, 2, 3, 4, 5, 6, 7, 8], [1, 8])).print();

Producción:

Tensor
    [[[[0, 0 ],
       [1, 33]],

      [[1, 33],
       [8, 9 ]]]]

Ejemplo 2: uso de una array de flotantes , interpolación , modo de relleno , valor de relleno y forma de salida .

Javascript

// Importing the tensorflow.js library
const tf = require("@tensorflow/tfjs")
  
// Defining an array of floats
const arr = [[
  [[1.1, 1.7, 1.5, 1.1], 
  [1.7, 1.9, 8.1, 6.3]],
  [[3.3, 3.4, 3.7, 4.0], 
  [5.1, 5.2, 5.3, 5.9]]
]];
  
// Calling image.transform() method and
// Printing output
tf.image.transform(arr, tf.tensor2d(
    [1.3, 2.4, 3.5, 4.5, 5.1, 6.0, 7.2, 8.5], 
    [1, 8]),'bilinear', 'reflect', 2, [2, 2])
    .print();

Producción:

Tensor
    [[[[3.3      , 3.4000001, 3.7      , 4        ],
       [4.3536587, 4.4536586, 4.6365857, 5.112195 ]],

      [[4.4178948, 4.5178947, 4.6936841, 5.1800003],
       [3.8970597, 4.0186343, 4.3869019, 4.721858 ]]]]

Referencia: https://js.tensorflow.org/api/latest/#image.transform

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *