Forum
>>
Principianti
>>
Aggiungere elementi alla lista mantenendo la multidimensionalità
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da iacoposk8 |
2016-11-21 09:10:37 - Aggiungere elementi alla lista mantenendo la multidimensionalità
|
Ciao a tutti, ho una domanda facile a cui non trovo risposta.
Nel codice seguente prendo un immagine e la converto in array numpy 3d (cordinate x, y di ogni singolo pixel e colore rgb) Poi scorro questto array e estraggo sequenzialmente delle matrici 5 x 5 x 3 (quindi matrici di 5 x 5 px più i 3 valori rgb) e li inserisco in un array from PIL import Image import numpy as np img = Image.open("img.jpg") arr = np.array(img) x = [] h,w,rgb = arr.shape size = 5 for i in range(0,h): for j in range(0,w): part = arr[i:i+size,j:j+size] if len(part)==size and len(part0)==size: x.append(part)Il risultato è una cosa tipo: ... [[129, 166, 175], [129, 166, 175], [130, 167, 175], [128, 166, 175], [128, 166, 175]], ... [[129, 166, 174], [129, 166, 174], [129, 166, 175], [129, 166, 175], [128, 166, 175]]], dtype=uint8), 129, 166, 175, array([[[129, 166, 175], [128, 166, 175], [128, 166, 175], [128, 166, 175], [128, 168, 176]], ... [[129, 166, 174], [129, 166, 175], [129, 166, 175], [128, 166, 175], [129, 167, 176]]], dtype=uint8), 129, 166, 175, array([[[128, 166, 175], [128, 166, 175], [128, 166, 175], [128, 168, 176], [128, 168, 178]], ... [[129, 166, 175], [129, 166, 175], [128, 166, 175], [129, 167, 176], [128, 168, 176]]], dtype=uint8), 128, 166, 175] Mentre io mi aspetterei una cosa tipo ... [[129, 166, 175], [129, 166, 175], [130, 167, 175], [128, 166, 175], [128, 166, 175]], ... [[129, 166, 174], [129, 166, 174], [129, 166, 175], [129, 166, 175], [128, 166, 175]]], dtype=uint8), array([[[129, 166, 175], [128, 166, 175], [128, 166, 175], [128, 166, 175], [128, 168, 176]], ... [[129, 166, 174], [129, 166, 175], [129, 166, 175], [128, 166, 175], [129, 167, 176]]], dtype=uint8), array([[[128, 166, 175], [128, 166, 175], [128, 166, 175], [128, 168, 176], [128, 168, 178]], ... [[129, 166, 175], [129, 166, 175], [128, 166, 175], [129, 167, 176], [128, 168, 176]]], dtype=uint8)] Quindi una matrice che sia sempre 5 x 5 x 3 non in alcuni punti monodimensionali infatti dopo il ", dtype=uint," mi aspetterei un , array([[[128, 166, 175], e non un 128, 166, 175 grazie. |
Pagina: 1
Esegui il login per scrivere una risposta.