En javascript, estoy convirtiendo con éxito un cuadro de video RGB de mi cámara web a un tensor usando la función tf.browser.fromPixels() de TensorFlowJS. Ahora, me gustaría seleccionar solo una parte de este tensor de acuerdo con los valores que obtuve previamente. específicamente un rectángulo del cuadro de video con coordenadas [x1,y1,x2,y2] pero estoy luchando para hacerlo usando la función TFJS tf.stridedSlice(), porque no puedo entender cómo funcionan los parámetros de la función.
Por ejemplo, el tensor de cuadro de video tiene forma [480,640,3], y me gustaría cortar un rectángulo completo con forma [270,202,3], del cual conozco la parte superior izquierda (x1, y1) y la parte inferior derecha (x2, y2) coordenadas, ¿cómo puedo lograr esto de alguna manera como:
tensorImg = tf.browser.fromPixels(videoFrame); tensorCropped = tf.stridedSlice(tensorImg,[x1,y1],[x1+x2,y1+y2]); ???Gracias.
Esto debería funcionar:
const cropBox = [[0.15, 0.15, 0.85, 0.85]]; // top,left,bottom,right in range 0..1 (not in pixel range) const outputSize = [200, 200]; // how large we want output to be const resize = tf.image.cropAndResize(inputTensor, cropBox, [0], outputSize); Tenga en cuenta que cropBox en sí mismo es una matriz de matrices y luego el segundo parámetro dice qué entrada usar realmente [0] )