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 array([[[128, 166, 175], e non un 128, 166, 175 grazie. |
Pagina: 1
Esegui il login per scrivere una risposta.
