Convoluzioni di immagini
La convoluzione di un'immagine con un kernel riassume una porzione dell'immagine come somma dei prodotti tra quella porzione e il kernel. In questo esercizio, scriverai il codice che esegue la convoluzione di un'immagine con un kernel usando Numpy. Data un'immagine in bianco e nero memorizzata nella variabile im, scrivi le operazioni all'interno del ciclo che eseguono la convoluzione con il kernel fornito.
Questo esercizio fa parte del corso
Image Modeling with Keras
Istruzioni dell'esercizio
- In ogni iterazione seleziona la finestra corretta dall'immagine e moltiplica questa parte dell'immagine per il kernel.
- Somma il risultato e assegna la somma all'elemento corretto dell'array di output (
results).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
kernel = np.array([[0, 1, 0], [1, 1, 1], [0, 1, 0]])
result = np.zeros(im.shape)
# Output array
for ii in range(im.shape[0] - 3):
for jj in range(im.shape[1] - 3):
result[ii, jj] = (____[ii:ii+3, jj:____+____] * ____).____
# Print result
print(result)