es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Iterando sobre una matriz multidimensional

Tengo una matriz de forma (3, 5, 96, 96), donde los canales son 3, el número de cuadros es 5 y la altura y el ancho son 96.
Quiero iterar sobre la dimensión 5 para obtener imágenes con tamaño (3, 96, 96). El código que he intentado es el siguiente.

b = frame.shape[1]
for i in range(b):
    fr = frame[:, i, :, :]

Pero esto no está funcionando.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para iterar sobre la dimensión 5 y obtener imágenes con tamaño (3, 96, 96), puedes usar la función de cambio de forma de numpy para modificar el arreglo a (3, 96, 96, 5) y luego iterar sobre la cuarta dimensión usando un bucle for.

    El código actualizado se vería así:

    frame_reshaped = np.reshape(frame, (3, 96, 96, 5))
    
    for i in range(frame_reshaped.shape[3]):
        fr = frame_reshaped[:,:,:,i]
        # hacer algo con cada imagen fr
    

    Al cambiar la forma del arreglo a (3, 96, 96, 5), puedes acceder fácilmente a cada imagen a lo largo de la cuarta dimensión con un bucle for.

Comments are closed.