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