Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Utilizzo della libreria Images

V
Valerio_V. (280 points)
0 4 5
in HW6 by (280 points)
closed by
Salve, volevo utilizzare dalla libreria images data dal professore la funzione Image o visd, come visto a lezione, per poter visualizzare l'immagine all'interno di spyder, ma non riesco e sembra non essere presente nella libreria data con HW6. Ho anche provato con il metodo dir per visualizzare le funzioni contenute dalla libreria e non risultano presenti. Come posso fare? Grazie mille in anticipo :)
331 views
closed

3 Answers

Best answer
giovanni.cinieri (5260 points)
1 4 15
by (5.3k points)
selected by

Ciao! Ho 2 soluzioni possibili per il tuo problema, una non richiede un import, l'altra si:

Premetto però che, come sempre detto nelle consegne di ogni Homework:

  • ATTENZIONE: SONO VIETATE tutte le altre librerie a parte quelle già importate nel testo.

Per cui ti sconsiglio di utilizzare il secondo metodo, o per lo meno, assicurati di rimuoverlo dopo aver verificato che il serpente esegue i movimenti corretti! Il mancato ascolto di questo avviso potrebbe non farti passare test o annullare il punteggio dalla VM. 

1) METODO NON IMPORT

Come ben sai, tu hai la libreria images all'interno delle librerie consentite per l'homework 6. All'interno di essa è presente un particolare comando, ovvero images.save(), che prende la matrice di tuple(RGB) e la converte in un immagine salvandotela nella cartella in cui si trova program01.py. Puoi inserire questa opzione all'interno di un for che aggiorna le posizioni del serpente e così facendo ti stampa tot immagini (ognuna rappresenta l'aggiornamento del movimento del serpente, per cui saranno diverse tra loro e le vedrai cambiare). Quella che ti occorre alla fine è l'ultima, che dovrai confrontare con l'immagine output expected, per vedere se è tutto corretto.

2) METODO IMPORT

La libreria che devi sfruttare è la libreria "images", ma presa dai file del gruppo su google classroom delle esercitazioni con il prof. De Sensi/Pellacini

Per accedere al file, clicca questo link https://drive.google.com/file/d/1bXp7baxqWR3r4vGMolKDWT0GZwaYerJy/view?usp=drive_web&authuser=5

Assicurati però di essere presente nella classroom! Per iscriverti nel caso inserisci il codice corso: nml2jxj

Una volta che hai scaricato quella libreria, rinominala (per esempio images2, per differenziarla da quella che c'è già all'interno del programma) e inseriscila all'interno della cartella HW6req, dove è presente il file program01.py

All'interno del programma fai import images2 (o come l'hai rinominata tu), poi se vuoi vedere in tempo reale il serpente che aggiorna i suoi movimenti ti basta eseguire all'interno del ciclo for dove vengono aggiornati i colori della matrice il seguente comando:

images2.visd(nomematrice)

P.S. RICORDATI DI TOGLIERLO POI!

Spero di essere stato utile, clicca il tasto "Risposta Migliore" se ti va! <3

andrea.sterbini (208020 points)
756 1270 2377
by (208k points)
Oppure su twiki.di.uniroma1.it nel diario delle lezioni AL
V
Valerio_V. (280 points)
0 4 5
by (280 points)
Grazie mille, ora sara' molto piu' semplice
l.vitale3 (6010 points)
10 22 83
by (6.0k points)
images.visd non è definita nella libreria. Le uniche due funzioni definite sono: images.load(), images.save(). Però puoi usare IPython.display nella console per visualizzare immagini.

import IPython.display

IPython.display.Image('input.png')
aa91 (3450 points)
6 14 46
by (3.5k points)

@Valerio_V. concordo con @giovanni.cinieri sull'import della libreria.

E' molto comodo avere la libreria image per visualizzare passo passo l'andamento del serpente, meglio ancora se utilizzata insieme alla libreria time con la funzione sleep(tempo di sleep), altrimenti risulta troppo veloce l'esecuzione\ visualizzazione e non è di grande aiuto.

Va detto però che sopratutto per gli ultimi test non si riesce, neanche con le librerie sopra, a visualizzare bene il movimento del serpente, in questo caso ti "printi" le posizioni ed i comandi e vedi se segue l'andamento desiderato, ricostruendolo poi con il tool Beyond Compare.

Ricordati, come già consigliato, di rimuovere i vari import quando consegni il codice finale